Je suis assez nouveau dans les tests unitaires en C # et j'apprends à utiliser Moq. Voici la classe que j'essaie de tester.
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...
}
}
Voici mon TestClass:
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>()));
}
}
J'obtiens l'exception suivante:
Expected invocation on the mock at least once, but was never performed
No setups configured.
No invocations performed..
Je veux juste vérifier si la méthode "MyMethod" est appelée ou non. Est-ce que je manque quelque chose?
SomeClass
n'a pas de définition pourMyMethod(string)
, ce qui semble ne pas l'être.