本文整理匯總了Golang中github.com/concourse/atc/exec/fakes.FakeStep.ReleaseReturns方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeStep.ReleaseReturns方法的具體用法?Golang FakeStep.ReleaseReturns怎麽用?Golang FakeStep.ReleaseReturns使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/concourse/atc/exec/fakes.FakeStep
的用法示例。
在下文中一共展示了FakeStep.ReleaseReturns方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
Describe("releasing", func() {
It("releases all sources", func() {
err := step.Release()
Ω(err).ShouldNot(HaveOccurred())
Ω(outStepA.ReleaseCallCount()).Should(Equal(1))
Ω(outStepB.ReleaseCallCount()).Should(Equal(1))
})
Context("when the sources fail to release", func() {
disasterA := errors.New("nope A")
disasterB := errors.New("nope B")
BeforeEach(func() {
outStepA.ReleaseReturns(disasterA)
outStepB.ReleaseReturns(disasterB)
})
It("returns an error describing the failures", func() {
err := step.Release()
Ω(err).Should(HaveOccurred())
Ω(err.Error()).Should(ContainSubstring("nope A"))
Ω(err.Error()).Should(ContainSubstring("nope B"))
})
})
})
Describe("getting a result", func() {
Context("when the result type is bad", func() {
示例2:
Ω(repo).Should(Equal(repo))
})
Describe("releasing", func() {
It("releases the output source", func() {
err := step.Release()
Ω(err).ShouldNot(HaveOccurred())
Ω(outStep.ReleaseCallCount()).Should(Equal(1))
})
Context("when releasing the output source fails", func() {
disaster := errors.New("nope")
BeforeEach(func() {
outStep.ReleaseReturns(disaster)
})
It("returns the error", func() {
Ω(step.Release()).Should(Equal(disaster))
})
})
})
}
Context("with no conditions", func() {
BeforeEach(func() {
conditional.Conditions = atc.Conditions{}
})
Context("when the input source is successful", func() {
示例3:
err := step.Release()
Ω(err).ShouldNot(HaveOccurred())
Ω(outStep.ReleaseCallCount()).Should(Equal(2))
Ω(successStep.ReleaseCallCount()).Should(Equal(1))
Ω(nextStep.ReleaseCallCount()).Should(Equal(1))
})
Context("when releasing the sources fails", func() {
disasterA := errors.New("nope A")
disasterB := errors.New("nope B")
disasterC := errors.New("nope C")
BeforeEach(func() {
outStep.ReleaseReturns(disasterA)
successStep.ReleaseReturns(disasterB)
nextStep.ReleaseReturns(disasterC)
})
It("returns an aggregate error", func() {
Eventually(process.Wait()).Should(Receive(BeNil()))
err := step.Release()
Ω(err).Should(HaveOccurred())
Ω(err.Error()).Should(ContainSubstring("first step: nope A"))
Ω(err.Error()).Should(ContainSubstring("success step: nope B"))
Ω(err.Error()).Should(ContainSubstring("next step: nope C"))
})
})