2009-02-25 13 views
1

VS2008ユニットテストフレームワークを使用している場合、testrunConfigにはホストを設定するオプションがあることがわかります。私がホストを "Smart Device"から "Default"に変更すると、エミュレータにデプロイせずにテストを実行できるように見えます。VS2008 - エミュレータ上のCFライブラリのユニットテストを実行する利点?

私はCompact Frameworkで使用するためにビルドされたライブラリをテストしたいと思いますが、UIなどとは何も関係ありません。デフォルトのホストでうまく動作していますか?または、ローカルマシン上で実行されているのと比べて、エミュレータ上で実行されたテストが実際に中断するような違いがありますか? (私はデフォルトで実行しているとCF .Netライブラリを使用すると仮定していますが、これはDLLが参照するライブラリであるためです)

答えて

1

テストターゲットを "Default"に変更すると、デスクトップ上のテスト。あなたのテストにはスマートデバイスのテストアセンブリへの参照があり、まったく動かないという問題があります。

System.ArgumentException: Object of type 
'Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext' 
cannot be converted to type 
'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext' 

私はそれがとにかく良いアイデアだと思いません、言った:あなたはこの線に沿ってエラーが発生します。適切なCFの動作を保証するために、CFに対してテストを実行する必要があります。デスクトップ上で実行してもそれはありません。さらに、UI固有のもの(WindowsMo​​bileネームスペースやP/Invoking to coredll.dllなど)を使用するUI以外のケースがたくさんあります。

エミュレータまたはデバイスに対して実行するのが遅く、デバッグするには本当の雌犬ですが、それらはオフセットする値を持っています。

+0

私は別の何かをしたに違いありませんか?ホストをDefaultに設定してCFテストをコンパイルして実行できます。私のテストプロジェクトは、ライブラリのCFバージョンを参照しています。 – Steve

+0

非常に奇妙です。私はちょうど2つの異なるスマートデバイスプロジェクトを確認し、両方が同じように失敗します。 – ctacke

+0

私はかなり間違ったことをしている可能性が高いです。二重チェックありがとう。 –

関連する問題