小编pap*_*ati的帖子

使用WPF控件时,NUnit测试过程经常失败

我们有一个NUnit测试项目,大约有1000个测试.该项目包含主要用于自定义WPF控件的高级组件测试.我们的构建服务器(TeamCity)上的测试过程经常失败:

InvalidOperationException"已释放LocalDataStoreSlot存储"

mscorlib.dll!System.LocalDataStore.GetData(System.LocalDataStoreSlot slot)

mscorlib.dll!System.Threading.Thread.GetData(System.LocalDataStoreSlot slot)

WindowsBase.dll!System.Windows.Interop.ComponentDispatcher.CurrentThreadData.get()...

测试包含[RequiresSTA]属性,Window.Show(),Dispatcher操作等...所以它绝对不是一个常规的单元测试项目.

失败看起来完全是随机的,我们有80%的可能性进行修订,但大部分时间都没有发生.生产代码中的绝对神秘,有时简单的更改 - 如xaml代码中的更改样式 - 触发失败,然后生产代码中的下一个更改修复它.

这种特定的随机故障使得我们的开发团队有时会非常不安,我们的扩展构建系统因此失败而受到严重阻碍.

我们很少用nunit-console.exe在本地运行项目来重现它.

你们有没有见过这样的测试过程失败?任何提示如何解决此问题将受到高度赞赏.

谢谢

wpf nunit dispatcher nunit-console

5
推荐指数
1
解决办法
732
查看次数

断言中的逻辑运算符是否可以接受?

您如何看待以下断言?

Assert.IsTrue(condition1 && condition2);
Run Code Online (Sandbox Code Playgroud)

我在审查会议期间想出了这种类型的断言.据我所知,在断言中使用&&运算符不是一个好习惯.我想知道其他人的想法?值得一提的是,这是下一次审查会议期间的问题吗?或者这仅仅是个人偏好?

c# tdd nunit unit-testing

2
推荐指数
1
解决办法
853
查看次数

标签 统计

nunit ×2

c# ×1

dispatcher ×1

nunit-console ×1

tdd ×1

unit-testing ×1

wpf ×1