Python:日期更改的单元测试
我为Django表单定义做了以下工作(是的,很尴尬): 正如您现在可能已经猜到的,只要Python:日期更改的单元测试,python,django,unit-testing,testing,Python,Django,Unit Testing,Testing,我为Django表单定义做了以下工作(是的,很尴尬): 正如您现在可能已经猜到的,只要date.today()不发生变化,这种方法就可以正常工作。我所有的考试都通过了。但是,一旦日期发生更改,则会错误地将初始日期的选择标记为“今天” 此后,我发现这是多么愚蠢,并将代码移到了\uuuu init\uuuu方法中 现在我想为它写一个测试。有人知道当日期更改时,我如何测试正确的工作日是否标记为(今天)?索引越界错误: Watch out for [weekday_index+1] for 'sunda
date.today()
不发生变化,这种方法就可以正常工作。我所有的考试都通过了。但是,一旦日期发生更改,则会错误地将初始日期的选择标记为“今天”
此后,我发现这是多么愚蠢,并将代码移到了\uuuu init\uuuu
方法中
现在我想为它写一个测试。有人知道当日期更改时,我如何测试正确的工作日是否标记为
(今天)
?索引越界错误:
Watch out for [weekday_index+1] for 'sunday',
use [(weekday_index+1)%7] to wrap down to 0.
将选项提取到一个方法中,使其易于测试。如果该方法只包含python而不包含django,那么它将更容易测试,因此也更容易理解。我也同意您应该创建一个\uuuuu init\uuuu,今天可以在今天结束时改变,并且需要随之改变
def weekday_choices(self, todays_index):
...
return choices_list
编辑:
- 目前,您的代码只运行一次李>
- 移动逻辑以在实例上而不是在类级别上操作李>
- 使用类似于模拟date.today().weekday()的响应的库。
- date.today()将需要返回一个使用
的模拟李>返回\u iter
- date.today()将需要返回一个使用
- 实例化2个表单并断言它们的选项列表与预期一致。
- 今天一个,明天一个
- 你也可以模拟模测试
Watch out for [weekday_index+1] for 'sunday',
use [(weekday_index+1)%7] to wrap down to 0.
将选项提取到一个方法中,使其易于测试。如果该方法只包含python而不包含django,那么它将更容易测试,因此也更容易理解。我也同意您应该创建一个\uuuuu init\uuuu,今天可以在今天结束时改变,并且需要随之改变
def weekday_choices(self, todays_index):
...
return choices_list
编辑:
- 目前,您的代码只运行一次李>
- 移动逻辑以在实例上而不是在类级别上操作李>
- 使用类似于模拟date.today().weekday()的响应的库。
- date.today()将需要返回一个使用
的模拟李>返回\u iter
- date.today()将需要返回一个使用
- 实例化2个表单并断言它们的选项列表与预期一致。
- 今天一个,明天一个
- 你也可以模拟模测试