我有一个返回值列表的函数。这些值是商店中的动物。
[dog, cat, horse, ...]
现在的问题是我不知道列表中的确切值。这些将有所不同。如何对该功能进行单元测试?
这是我现在拥有的,但是我不知道如何/应该检查哪些值?
From unittest import TestCase, mock
..
def test_get_in_house_animals(self, ):
value = self.trade.get_in_house_animals()
self.assertTrue(value)
当您不知道确切的返回值时,有人可以向我解释使用模拟数据的常用方法吗?
答案 0 :(得分:0)
在单元测试环境中,您可以模拟单元中的所有依赖项。 在您的情况下数据库/存储库/ api /必须在您的环境中模拟任何实例。在单元测试中,可以针对单元/边界上下文的特定实现进行测试。在这种情况下,数据源。您可以致电
进行测试self.trade.get_in_house_animals()
特定功能,例如hasBeenCalled('findAll')
负责get_in_house_animals中的结果。
在您的情况下,模拟httpClient并断言您的api设置为“ hasBeenCalled”。终结点的结果超出了您的单位范围,而不属于您的单元测试。
希望单元测试更加清晰。