无法为模块创建单元测试 - 这是否表示设计错误?

Dra*_*aco 3 unit-testing

我有一个应用程序返回依赖于指定时间的数据,我可以指定天,月或年.问题是,如果我今天要运行该应用程序并要求它返回1个月前的数据,并且在3个月的时间内我要求该应用程序返回该日期前一个月的数据(即从该日期开始的1个月) )结果显然会有所不同.由于这种动态特性,我发现很难创建单元测试,因为我必须根据运行测试的时间来更改日期.这是否表示设计不好或者这是一个例外情况?

Pet*_*ebb 5

不一定是一个糟糕的设计,但该软件并非设计用于简单的测试,许多人认为易于测试的设计是良好设计的必要方面.

如果可以修改代码以在指定日期的1个月内查找数据,则生产代码可以轻松传递当前日期,并且测试代码可以使用固定日期.