在一个C#类库和一组测试中。一切都很顺利,直到我添加了一组新的测试 - 它们在我的机器上正确运行,但在TFS构建服务器上失败。构建日志中的堆栈跟踪毫无意义 - 一个类的构造函数似乎映射到其中一个方法。单元测试的堆栈跟踪怎么能不符合实际的源?
如果我的类看起来有点像这样:
1. public class ClassToBeTested
2. {
3.
4. /// <summary>
5. /// Default constructor.
6. /// </summary>
7. public ClassToBeTested()
8. {
9.
10. }
11.
12. /// <summary>
13. /// Default constructor.
14. /// </summary>
15. public MethodToTest()
16. {
17. /* do stuff that throws exception */
18. }
19.
20. }
而且在我的单元测试类我有这样的:
1. [TestMethod()]
2. public void UpdateTest()
3. {
4. ClassToBeTested Target = new ClassToBeTested();
5. ClassToBeTested.MethodToTest();
6. }
然后我的堆栈跟踪表明这一点:
试验方法unittestclass.UpdateTest抛出异常/不管/
ClassToBeTested.MethodToTest():第17行
unittestclass.UpdateTest():4号线
这怎么可能?
确定 - 这似乎是某种优化的bug /问题(只发生在发布版本中,但是然后,我的测试不会在构建服务器上运行调试版)+1,并且可以为任何可以提供MS引用的人接受答案。 – 2010-01-27 02:55:42