Silverlight3プロジェクトの単体テストを試みています。使ってます:
- Moq.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用に両方のアセンブリを再構築したところ、同じ結果になりました。
MicrosoftSilverlightユニットテストフレームワークでテストを実行することができました。
http://code.msdn.microsoft.com/silverlightut/
これは、SLを単体テストするための標準的な方法のように思われるブラウザー内テストフレームワークです。問題は次のとおりです。
すべてのテストを一度に実行する必要があります
それは残酷に遅いです。
(nunitテストフレームワークで実行されている同じテストよりも約5倍遅い)
他のSLテストフレームワークまたはこのフレームワークに対してテストを実行するためのより良い方法を知っている人はいますか?
TestDriven.Netのvsプラグインを使用しようとすると、エラーが発生します。
System.IO.FileNotFoundException:ファイルまたはアセンブリを読み込めませんでした'システム、..。