0

mscorlib.fakes ライブラリで偽の Thread.Sleep を見つけるのに問題があります。http://www.codewrecks.com/blog/index.php/2012/04/27/using-shims-in-visual-studio-11-to-test-untestable-code/の指示に従っています

http://msdn.microsoft.com/en-us/library/d00bd51t(v=vs.100).aspxは、Thread.Sleep が mscorlib にあることを示しているので、偽物を追加しましたが、System.Threading.Fakes 名前空間には ShimThread が含まれていません。 StubThread もありません。スレッドは封印されたクラスですが、VS 偽のフレームワークは封印されたクラスで静的メソッドを偽造できるはずです。

4

2 に答える 2

8

これは非常に可能です。デフォルトでは、Fakes フレームワーク自体が mscorlib を使用するため、Fakes フレームワークは mscorlib のほとんどの型 (System.Threading 名前空間の型を含む) に対して shim を生成しません。そのため、いくつかの型のみが shim されますが、プロジェクトに追加された mscorlib.fakes ファイルを変更することで、この動作を構成できます。

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
    <Assembly Name="mscorlib" Version="4.0.0.0"/>
    <ShimGeneration>
        <Add Namespace="System.Threading!"/>
    </ShimGeneration>
</Fakes>

System.Threadingここでテスト プロジェクトをビルドすると、名前空間内の型の shim を確認できますShimThread.SleepInt32

このページの .fakes xml ファイルについて詳しく読む

于 2013-12-09T20:17:04.663 に答える