Saya cukup baru untuk pengujian unit di C # dan belajar menggunakan Moq. Di bawah ini adalah kelas yang saya coba uji.
class MyClass
{
SomeClass someClass;
public MyClass(SomeClass someClass)
{
this.someClass = someClass;
}
public void MyMethod(string method)
{
method = "test"
someClass.DoSomething(method);
}
}
class Someclass
{
public DoSomething(string method)
{
// do something...
}
}
Di bawah ini adalah TestClass saya:
class MyClassTest
{
[TestMethod()]
public void MyMethodTest()
{
string action="test";
Mock<SomeClass> mockSomeClass = new Mock<SomeClass>();
mockSomeClass.SetUp(a => a.DoSomething(action));
MyClass myClass = new MyClass(mockSomeClass.Object);
myClass.MyMethod(action);
mockSomeClass.Verify(v => v.DoSomething(It.IsAny<string>()));
}
}
Saya mendapatkan pengecualian berikut:
Expected invocation on the mock at least once, but was never performed
No setups configured.
No invocations performed..
Saya hanya ingin memverifikasi apakah metode "MyMethod" dipanggil atau tidak. Apakah saya melewatkan sesuatu?
SomeClass
tidak memiliki definisiMyMethod(string)
, yang sepertinya tidak.