1

これは私のストップウォッチクラスです

import time

class StopWatch:

    def __init__(self, tag="", startTime=time.time(), elapsedTime=-1):
        self._tag=tag
        self._elapsedTime=elapsedTime
        self._startTime=startTime

    # other codes here............#

    def stop(self, tag=None):
        if tag is not None:
            self._tag = tag
        self._elapsedTime = time.time() - self._startTime
        return self

    def getStartTime(self):
        return self._startTime

ストップウォッチ テスト ファイルは次のとおりです。

import unittest
import time
from metric.StopWatch import StopWatch

class StopWatchTest(unittest.TestCase):

    def test_stopwatch(self):
        now=time.time()
        print "now:%f" % now

        stopwatch=StopWatch("firstHook")
        print "start time:%r" % stopwatch.getStartTime()
        self.assertTrue(stopwatch.getStartTime()>now, "start time is wrong")

私が得るのはエラーです:

now:1364791630.047630
start time:1364791629.158797

..

AssertionError: start time is wrong

後で実行されるコードは、以前の時間を示しています。この背後にある理由は何ですか?

4

2 に答える 2