小编Ema*_*uel的帖子

单元测试范围

假设我们有一个远程服务Alpha,其方法是GetUser(id,includePurchases).
该方法具有以下规则:

- 如果includePurchases为true,则user.Purchases应具有Purchases列表.
- 如果没有,user.Purchases应为空白.

假设我们有一个网站Beta,其UserRepository有一个方法GetUser(id,includePurchases).
Beta.UserRepository.GetUser()在内部调用Alpha.GetUser().


负责Alpha的团队表示Beta应该有一个检查特殊规则的测试.
我不同意,因为如果你有一个调用服务的单元测试,那就是集成测试.

他们不希望Beta测试调用Alpha,而是希望测试模拟Alpha.GetUser方法以包含类似"if(includePurchases)user.Purchases = new List()"的内容.
使用"if",将编写一个断言用户的测试.根据includePurchases标志,购买是否为空.


你能理解这个吗?
他们想要的测试应该不仅仅是Alpha单元测试的关注点吗?
对我而言,似乎我正在编写一个测试来检查Alpha工作方式的假设.

unit-testing

5
推荐指数
1
解决办法
1958
查看次数

标签 统计

unit-testing ×1