こんにちは、JavascriptSerializer のラッパーを作成して、これを moq できるようにしました。
これは私のコードです:
public class JavascriptSerializerWrapper : IJavascriptSerializerWrapper
{
public JavaScriptSerializer GetJavascriptSerializer()
{
return new JavaScriptSerializer();
}
}
今、私の単体テストでは、次のようにこれをモックしようとしました:
private Mock<IJavascriptSerializerWrapper> m_JavascriptSerializerWrapper;
[TestInitialize]
public void Initializer()
{
m_JavascriptSerializerWrapper = new Mock<IJavascriptSerializerWrapper>();
}
[TestMethod]
public void Login_IsValidUser_ReturnsTrue()
{
const string serializedObject = "{\"EmailAddress\":\"kimmiem30@hotmail.com123\",\"StudentId\":1200528,\"TeacherId\":null,\"EmployeeId\":null,\"PersonId\":82249,\"MessageUserId\":410335}";
m_JavascriptSerializerWrapper.Setup(x => x.GetJavascriptSerializer().Serialize(userInfoDTO)).Returns(serializedObject);
}
単体テストをデバッグしたところ、次のエラーが発生しました。
非仮想 (VB でオーバーライド可能) メンバーの設定が無効です: x => x.GetJavascriptSerializer().Serialize(.userInfoDTO)
ここで何が間違っていますか?どうすればこの問題を解決できますか?