В вашем случае вам не нужны никакие насмешки, вы просто должны проверить вывод функций:
[Test]
[TestCase("1","admin","??????_????k0O???qr#??%szq??` ?j???????D>?????????Lvz??BP")]
public void encryptPasswordTest(string userID, string password, string output)
{
string result = _User.encryptPassword(userID, password);
Assert.That(result.Equals(output));
}
Вам понадобится издеваться, если вам нужно проверить свою логику в зависимости от вывода другого компонента. Например. у вас есть
public interface IEncrypter
{
string encryptPassword(string userID, string password);
}
и введите его в класс пользователя:
public User(IEncrypter encrypter) { this.encrypter = encrypter; }
Тогда вы бы высмеяли это:
var mock = new Mock<IEncrypter>();
mock.Setup(m => m.encryptPassword(It.IsAny<string>(), It.IsAny<string>())).Returns(() => output);
var user = new User(mock.Object);