It("returns the error", func() { _, err := container.Properties() Ω(err).Should(Equal(disaster)) }) }) }) Describe("Property", func() { propertyName := "propertyName" propertyValue := "propertyValue" Context("when getting property succeeds", func() { BeforeEach(func() { fakeConnection.PropertyReturns(propertyValue, nil) }) It("returns the value", func() { result, err := container.Property(propertyName) Ω(err).ShouldNot(HaveOccurred()) Ω(result).Should(Equal(propertyValue)) }) }) Context("when getting property fails", func() { disaster := errors.New("oh no!") BeforeEach(func() { fakeConnection.PropertyReturns("", disaster) })