我的单元测试应该如何干燥?

dav*_*gan 6 unit-testing dry

我正在为我的webapp编写单元测试.我的许多测试用例共享相同的样板.例如,从购物车中移除商品和更新购物车中商品数量的测试都开始于导航到产品页面,搜索产品并将其添加到购物车.

是否应该以某种方式将这些重复的代码从单元测试中分解出来?我应该写一个函数add_item_to_cart吗?但是,我有另一个测试test_add_to_cart,它基本上只包含添加到购物车的重复样板.

由于每个测试需要独立,因此单元测试本质上不是DRY吗?

Pet*_*lin 1

您应该对测试应用与任何其他代码相同的原则。

考虑一下例子,然后你改变一些会破坏你的测试的东西。您希望在一处或每个测试中更新测试代码吗?

我认为答案是显而易见的。