2016-05-31 11 views
1

単体テストでは、X509Certificate2.Subjectがコードカバレッジに不安を返す必要があります。私はMoqを使ってみましたが、Subjectは仮想メソッドではないので失敗します。これを行う方法はありますか、ここでホイールを再発明しなければなりませんか?Moqを使ってX509Certificate2を模擬する方法は?

  Mock<X509Certificate2> mockCert = new Mock<X509Certificate2>(contextAccessor.Certificate.RawData); 
     mockCert.Setup(m=>m.Subject).Returns("kjewnr,mwnzlxkcuvlkrj,wmelq"); 
     mockCert.CallBase = true; 

     contextAccessor.Certificate = mockCert.Object; 
     authenticatorAccessor.LogAuthentication(context); 

これは可能ですか?そうでない場合、私のために働く他の図書館はありますか?ありがとう。

+0

エラー:System.NotSupportedException:非仮想(VBでオーバーライド可能)メンバの設定が無効です。m => m.Subject – ChopperCharles

+0

[StubまたはSetupProperty](http://www.nudoq.org/ #!/ Packages/Moq/Moq/Mock(T)/ M/SetupProperty(TProperty)) – stuartd

+0

あなたは[この質問](http://stackoverflow.com/questions/6836247/how-最小作成ダミーx509certificate2)?彼らはあなたを助けるかもしれないモルズと呼ばれるものに言及します。あなたが言っているように、 'Subject'プロパティが非仮想的なので、あなたがやろうとしていることができないように思われるので、テスト証明書を作成するか、テスト証明書を作成します。 – Charlie

答えて

0

実際にはできません。私はMoqから離れ、代わりにアクセサを使用するようになった。

関連する問題