![]() |
1
7
首先,不要这样做:
您正在创建一个新的datetime,然后在解析字符串以获取新的datetime时将其丢弃日期时间。记得吗,测试代码应该还是好代码。
最后,没有理由在这里嘲笑。如果您的DateExtensions调用了另一个组件(比如说数据库),并且您想伪造该调用,那么mock是合适的。因此,与测试DateExtensions+数据访问不同,您只需测试DateExtensions,当它调用数据访问层时,您的测试将建立一个模拟。 |
![]() |
2
5
模拟用于满足依赖关系。 例如。考虑是否有一个类使用IDataLayer(围绕数据库的包装器)从数据库加载用户
测试时,您不希望针对数据库进行测试。这使得提供数据和检查结果变得困难。相反,您可以模拟IDataLayer对象,以便能够手动向UserService提供用户。这使得验证用户服务是否做了它应该做的事情变得更加容易。 至于你的测试方法。我将把它分成两个方法,因为您正在运行两个不同的测试(尽管是在同一个方法上) |
![]() |
3
2
你的测试相当合理。为了更好的可读性,我个人会将大部分日期解析内联:
|
![]() |
4
2
我觉得你在这种情况下不用嘲笑就可以了。通常,您会模拟某种依赖关系(例如,如果您有
不过,我还是会帮你整理一下试卷的。您应该坚持对每个方法测试一件事,因为如果该测试方法失败,您将知道它失败的原因,而不必检查断言并怀疑其余的断言是否会通过。
|
![]() |
S4beR · jest-手表模式错误 7 年前 |
|
M.C · 如何从Ruby TDD哈希数组中返回名称 7 年前 |
![]() |
Maverick94 · Python unitest不工作 7 年前 |
![]() |
erexo · Moq模拟。Of<Obj>vs new Obj(); 7 年前 |
![]() |
jpuriol · JUnit测试中的“单例” 7 年前 |
![]() |
Py.Jordan · 如何在Python中模拟用户输入 7 年前 |