當前位置: 首頁>>代碼示例>>Golang>>正文


Golang FakeClock.IncrementBySeconds方法代碼示例

本文整理匯總了Golang中code/cloudfoundry/org/clock/fakeclock.FakeClock.IncrementBySeconds方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeClock.IncrementBySeconds方法的具體用法?Golang FakeClock.IncrementBySeconds怎麽用?Golang FakeClock.IncrementBySeconds使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在code/cloudfoundry/org/clock/fakeclock.FakeClock的用法示例。


在下文中一共展示了FakeClock.IncrementBySeconds方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1:

		var registrationError = errors.New("boom")
		BeforeEach(func() {
			agent.ServiceRegisterReturns(registrationError)
		})

		JustBeforeEach(func() {
			registrationProcess = ifrit.Background(registrationRunner)
		})

		AfterEach(func() {
			ginkgomon.Kill(registrationProcess)
		})

		It("retries", func() {
			Eventually(agent.ServiceRegisterCallCount).Should(Equal(1))
			clock.IncrementBySeconds(6)
			Eventually(agent.ServiceRegisterCallCount).Should(Equal(2))
		})

		It("does not become ready", func() {
			Consistently(registrationProcess.Ready()).ShouldNot(BeClosed())
		})
	})

	Context("when registering hangs forever", func() {
		var blockRegister chan struct{}
		var blockRegisterDone chan struct{}

		BeforeEach(func() {
			blockRegister = make(chan struct{})
			blockRegisterDone = make(chan struct{})
開發者ID:cloudfoundry,項目名稱:locket,代碼行數:31,代碼來源:registration_runner_test.go

示例2:

			It("acquires the lock", func() {
				lockProcess = ifrit.Background(lockRunner)
				Eventually(lockProcess.Ready()).Should(BeClosed())
				Expect(sender.GetValue(lockUptimeMetricName).Value).Should(Equal(float64(0)))
				Expect(getLockValue()).To(Equal(lockValue))
				Expect(sender.GetValue(lockHeldMetricName).Value).To(Equal(float64(1)))
			})

			Context("and we have acquired the lock", func() {
				JustBeforeEach(func() {
					lockProcess = ifrit.Background(lockRunner)
					Eventually(lockProcess.Ready()).Should(BeClosed())
				})

				It("continues to emit lock metric", func() {
					clock.IncrementBySeconds(30)
					Eventually(func() float64 {
						return sender.GetValue(lockUptimeMetricName).Value
					}, 2).Should(Equal(float64(30 * time.Second)))
					clock.IncrementBySeconds(30)
					Eventually(func() float64 {
						return sender.GetValue(lockUptimeMetricName).Value
					}, 2).Should(Equal(float64(60 * time.Second)))
					clock.IncrementBySeconds(30)
					Eventually(func() float64 {
						return sender.GetValue(lockUptimeMetricName).Value
					}, 2).Should(Equal(float64(90 * time.Second)))
				})

				Context("when consul shuts down", func() {
					JustBeforeEach(func() {
開發者ID:cloudfoundry,項目名稱:locket,代碼行數:31,代碼來源:lock_test.go


注:本文中的code/cloudfoundry/org/clock/fakeclock.FakeClock.IncrementBySeconds方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。