我正在尝试对 Silverlight 3 项目进行单元测试。我在用:
- 起订量.Silverlight (3.0.308.2)
- NUnitSilverlight ( http://www.jeff.wilcox.name/2009/01/nunit-and-silverlight/ )
当我编写一个不使用Moq的测试时,它可以正常工作。
当我在测试之外使用 Moq 时,Moq 可以正常工作。(我模拟了一个界面并在按钮处理程序中进行了验证作为证明。)
但是当我运行一个使用 Moq 的单元测试时,我总是得到这个:
System.IO.FileNotFoundException: Could not load file or assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The system cannot find the file specified.
at Moq.ExpressionExtensions.ToStringFixVisitor..ctor(Expression expression)
at Moq.Interceptor.AddCall(IProxyCall call, SetupKind kind) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Interceptor.cs: line 104
at Moq.Mock.<>c__DisplayClassc`2.<Setup>b__b() in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Mock.cs: line 387
at Moq.PexProtector.Invoke<T>(Func`1 function) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\PexProtector.cs: line 17
at Moq.Mock.Setup<T1,TResult>(Mock mock, Expression`1 expression) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Mock.cs: line 371
at Moq.Mock`1.Setup<TResult>(Expression`1 expression) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Mock.Generic.cs: line 194
at SilverlightMoq.Test1.TestFirst() in Test1.cs: line 23
如何修复?
我为 SL 3 重建了两个程序集,结果相同。
我能够在 Microsoft Silverlight 单元测试框架上运行测试。
http://code.msdn.microsoft.com/silverlightut/
这是浏览器内测试框架,似乎是单元测试 SL 的标准方法。问题是:
您必须一次运行所有测试
它非常缓慢。
(比在 nunit 测试框架中运行的相同测试慢约 5 倍)
有谁知道任何其他 SL 测试框架或针对该框架运行测试的更好方法?
当我尝试使用 TestDriven.Net 的 vs 插件时,出现错误:
System.IO.FileNotFoundException:无法加载文件或程序集“系统,...