为每个集成测试设置单独/唯一的数据集是个好主意,还是所有测试都应该重用相同的数据?我为每个测试设置单个数据集的想法是,对每个测试都有更多的控制,以便更容易地更新旧测试和实现新数据。与其确保新测试的新数据不会干扰旧的数据/测试,我只需添加一个只供我的新测试使用的新数据集。对我来说,这是有意义的,但当阅读集成/服务测试时,它似乎是最重要的(全部?)在所有测试中使用相同的数据。
我为每个测试创建唯一数据集的最大原因是,我希望为一个微服务体系结构编写测试,并确保您获得唯一的ID--这在所有DB的所有测试中都是一样的--结果有点混乱。如果我有单独的数据集,我可以跟踪AAA:
// Assign
Mock up database, could be CSV files loaded into an in memory-db.
// Act
Make a call to the endpoint I want to test, could be done through for example MSTest, Webtest or POSTMAN
// Assert
Make sure that the response contains the data I wanted.在上述情况下,CSV将是数据集。因此,每个测试都将获得单独的CSV文件,这些文件将用于在运行测试之前为DB注入种子。
发布于 2018-02-08 20:51:51
这完全取决于情况:
如果使用唯一的测试数据集,则:
如果使用相同的数据:
发布于 2018-02-08 13:31:24
我会选择每个测试的个人数据。
严格来说这不重要。如果您总是从每个测试的预定义状态开始,那么对计算机来说并不重要。
但是,在测试失败的不太可能(咳嗽)的情况下,独特的数据使开发人员更容易进行通信。更容易记住"Karl & Karen“的测试是关于什么的,然后是对Alice的第54号测试。“卡尔和凯伦”是金毛猎犬的一对很好的假想夫妻,卡尔从不按时阅读他的电子邮件,凯伦提醒他,现在他们的两个账户都有相同的电子邮件地址,而且无论如何都应该正常工作……爱丽丝#54?不知道那是怎么回事。失败了?哇。我需要看一下文件。
https://softwareengineering.stackexchange.com/questions/365569
复制相似问题