c# - 每次运行测试时如何增加一个 int
问题描述
我正在测试一个数据库的方法,但我的插入测试有问题,因为我的对象有一个自动增量 ID,它是在插入对象时默认创建的,但它的名称也必须是唯一的,所以第一次我运行我的测试,它运行良好,但仅此而已。我虽然要放置一个 int i = 0 然后递增它并将其插入到我的字符串中,但是每次运行测试时它都会重置,因此它不起作用。有任何想法吗?
这是我的测试:
public async Task CanCreateStringSignal()
{
var s = new SignalsDTO()
{
Name = "Signal",
TagType = "String",
Description = "Foo"
};
var idReturn = await _handler.Create(s);
var signal = await _handler.GetSignalsByName("Signal");
Assert.IsNotNull(signal);
Assert.IsInstanceOfType(signal, typeof(SignalsDTO));
Assert.AreEqual("Signal", signal.Name);
Assert.AreEqual(idReturn, signal.IDTag);
}
解决方案
只需附加一些 GUID 就可以了:
Name = "Signal" + Guid.NewGuid()
现在,每次运行,现在和 100 年后,这个名字都将是独一无二的。
推荐阅读
- python - Django get_serializer 'NoneType' 对象不可调用
- javascript - 在会话/历史reactjs中存储用户数据是否安全
- css - Firefox 拒绝支持暗模式
- curl - curl 带有重音字母的 POST 表单数据
- typescript - TypeScript 中具有泛型类型参数的泛型类型的替代方案
- javascript - 拖动 div 忽略某些元素
- node.js - Nodejs没有为Office插件启动Web服务
- python - 从 WSDL 在 python 中实现一个 SOAP 客户端
- jquery - 使用 jQuery 表单验证时,CKeditor 实例 updateElement() 无法正常工作
- css - CSS:如何使用网格模板区域将网格嵌套到网格中?