ReSharper的我有一个奇怪的问题出现,当我运行VS2012我的单元测试。我正在使用NUnit并使用ReSharper运行它们,并且所有测试都在运行。但是,当我的同事们进行的测试,他们中的一些不那么他们所使用的测试资源管理器与扩展NUnit测试适配器(Beta 3中)v0.95.2(http://visualstudiogallery.msdn.microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d)有ReSharper的。然而,有了这个扩展,一些测试失败了。单元测试失败,NUnit测试适配器,但不与VS2012
失败的具体代码如下:
public void Clear()
{
this.Items.ForEach(s => removeItem(s));
}
private bool removeItem(SequenceFlow item)
{
int i = this.Items.IndexOf(item);
if (i == -1)
return false;
this.Items.RemoveAt(i);
return true;
}
唯一的例外是:
System.InvalidOperationException : Collection was modified; enumeration operation may not execute.
Result StackTrace:
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
现在,我不是寻找一个回答为什么我得到这个例外,当然我可以理解为什么它失败了。但我不明白为什么测试失败与测试Exporer但不是使用ReSharper时。为什么我会得到不同的测试行为?
我用程序Ildasm.exe以查看是否为两种情况下进行测试时的代码被编译以不同,但IL-代码是相同的。
测试也运行期间提交我们没有任何错误团队市的服务器上。
此外,调试测试时,我通过NUnit测试适配器进行调试时,但在调试的时候,并通过与ReSharper的,也不例外,在所有的代码步进得到相同的异常。
其中该码是从叫什么名字? TestMethod,SetUp,构造函数? – citizenmatt
从TestMethod的,当我在“演戏”的单元测试。 –
我看不出为什么会失败。你能得到一个我可以下载并看看的repro项目吗?把它放在要点上,或者什么? – citizenmatt