1 回答
TA贡献1803条经验 获得超3个赞
Go 没有支持拆解方法的内置功能。但是,有多个第三方包可以实现这一点。其中,我最喜欢银杏包。它非常有表现力并且避免了代码重复。
样本测试看起来像
var _ = Describe("Book", func() {
var (
longBook Book
shortBook Book
)
BeforeEach(func() {
longBook = Book{
Title: "Les Miserables",
Author: "Victor Hugo",
Pages: 1488,
}
shortBook = Book{
Title: "Fox In Socks",
Author: "Dr. Seuss",
Pages: 24,
}
})
Describe("Categorizing book length", func() {
Context("With more than 300 pages", func() {
It("should be a novel", func() {
Expect(longBook.CategoryByLength()).To(Equal("NOVEL"))
})
})
Context("With fewer than 300 pages", func() {
It("should be a short story", func() {
Expect(shortBook.CategoryByLength()).To(Equal("SHORT STORY"))
})
})
})
})
相似之处还有其他生命周期方法afterEach,如justBeforeEach等。
- 1 回答
- 0 关注
- 107 浏览
添加回答
举报