IMHO ile ilgili belirsiz tanı mesajı nasıl geliştirilir, Rhino Mocks, bir yöntemin belirli bir bağımsız değişkenle çağrıldığını doğrulamak için AssertWasCalled kullanıldığında belirsiz bir tanı iletisi oluşturur.Rhino Mocks - AssertWasCalled: Yanlış argümanlar
Örnek:
interface ISomeInterface
{
void Write(string s);
}
[TestFixture]
public class SomeTests
{
[Test]
public void WriteShouldBeCalledWithCorrectArguments()
{
// Arrange
var mock = MockRepository.GenerateMock<ISomeInterface>();
var sut = new SomeClass(mock);
// Act
sut.DoSomething();
// Assert
mock.AssertWasCalled(x => x.Write(Arg<string>.Is.Equal("hello")));
}
}
Şimdi test bu iletiyle başarısız olursa ...
Rhino.Mocks.Exceptions.ExpectationViolationException: (eşit merhaba) ISomeInterface.Write; Beklenen # 1, Gerçek # 0.
A. 'Yaz'
B.'nin 'Write' aslında çağrılır -veya- ancak yanlış argüman
çağrılır asla çünkü başarısız olursa
... bilemezsiniz B başarısızlığın nedeni olurdu mesajı şöyle bir şey olsaydı o zaman çok daha net olacaktır:
Rhino.Mocks.Exceptions.ExpectationViolationException: ISomeInterface.Write (dize arg): Yöntem denirdi ama yanlış argüman ile ts: Beklenen: merhaba, Gerçek: bye
Bu kusurumu kendim giderebilir miyim (bir şekilde Rhino için özel eşleştiriciler yazarak) veya bunun için bir el yazması yapmak zorunda mıyım?
Moq ve/veya eyalet tabanlı sınama yapmayı deneyin. http://code.google.com/p/moq/ – TrueWill
Maalesef, Maliye aynı soruna sahip. – Chris