Я должен сделать серию модульных тестов, и я только начинаю, и я не уверен, как их выполнять.
У меня есть интерфейс IPersona
с некоторыми методами, и я проверяю, что:
string nombreCompleto();
И класс Persona
выглядит следующим образом:
private string nombre;
private string apellido;
private int edad;
private int kmRecorridos;
private bool vivo;
private Persona pareja;
public Persona()
{
this.nombre = "";
this.apellido = "";
this.edad = 0;
this.kmRecorridos = 0;
this.pareja = null;
nacer();
}
public Persona(string n, string a, int e)
{
this.nombre = n;
this.apellido = a;
this.edad = e;
this.pareja = null;
this.kmRecorridos = 0;
nacer();
}
public string nombreCompleto()
{
return "Nombre Completo: " + this.nombre + " " + this.apellido;
}
Я делаю следующий тест, но я пробовал кое-что, и я не знаю, как сделать его успешным:
[TestMethod]
public void TestMethod1()
{
var mockPersona = new Mock<IPersona>();
mockPersona.Setup(x => x.nombreCompleto()).Returns("Nombre completo " + "" + " " + "");
IPersona persona = (IPersona) new Persona();
Assert.AreEqual(persona.nombreCompleto(), ((IPersona) mockPersona.Object).nombreCompleto());
}
Уже будь решен. Была у одного pequeГ±o ошибка в .Setup()
, которая цепь, которая происходила с ним, не была довольно письменной.
С другой стороны, я реализовал тест другой формы:
[TestMethod]
public void TestNombreCompleto()
{
var mockPersona = new Mock<IPersona>();
mockPersona.Setup(x => x.nombreCompleto()).Returns("Nombre Completo: " + "Juan" + " " + "Perez");
Persona p = new Persona();
p.setNombre("Juan");
p.setApellido("Perez");
IPersona persona = (IPersona) p ;
Assert.AreEqual(persona.nombreCompleto(), ((IPersona) mockPersona.Object).nombreCompleto());
}
И asГ - оно функционировало. Я надеюсь, что он служит помощью до будущих проблем.