gpt4 book ai didi

c# - 为持久数据创建和删除编写单元测试

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:29 26 4
gpt4 key购买 nike

在为持久存储的数据编写测试时,我想出了一个测试:

[TestMethod]
public void DoCreateDeleteTest() {
PersistentDataStore pds = new PersistentDataStore();
bool createSuccess = pds.Save("id", "payload");
Assert.AreEqual(true, createSuccess);
bool deleteSuccess = pds.Delete("id");
Assert.AreEqual(true, deleteSuccess);
}

只要一切正常,这似乎就没问题。该函数没有先前的依赖关系,它会自行清理。问题是:当 .Save() 方法执行保存但返回 false/失败时。断言触发并且删除未被调用,因此它不会自行清理。

在此之后,数据库中有名称为“id”的持久化数据,所有 future 的保存都将失败。

我能想到的绕过它的唯一方法是在保存之前进行预防性删除,但这似乎是一个大黑客的方法。

最佳答案

将删除放在标有 TestCleanup 的方法中属性(我假设您使用的是 MSTest)。

顺便说一句,您的测试还测试了两个不同的东西:保存是否有效以及它还测试了删除。测试应该一次只测试一件事。

关于c# - 为持久数据创建和删除编写单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1005607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com