Я новичок в модульном тестировании и мне нужна помощь. Этот пример только для изучения, я не подсчитываю количество пользователей в переменной stati c, когда я могу просто использовать свойство count в структуре данных List. Помогите разобраться, как получить мое первоначальное утверждение, что есть 3 пользователя. Вот код:
Класс пользователя
namespace TestStatic
{
public class User
{
public string Name { get; set; }
public int Dollars { get; set; }
public static int Num_users { get; set; }
public User(string name)
{
this.Name = name;
Num_users++;
}
public int CalculateInterest(int interestRate)
{
return Dollars * interestRate;
}
}
}
Тест с использованием MSTest
namespace TestStaticUnitTest
{
[TestClass]
public class CalcInterest
{
[TestMethod]
public void UserMoney()
{
// arrange
User bob = new User("Bob");
bob.Dollars = 24;
// act
int result = bob.CalculateInterest(6);
// assert
Assert.AreEqual(144, result);
//cleanup?
}
[TestMethod]
public void UserCount()
{
// arrange
List<User> users = new List<User>(){ new User("Joe"), new User("Bob"), new User("Greg") };
// act
int userCount = User.Num_users;
// assert
Assert.AreEqual(3, userCount);
}
}
}
Результат в тесте UserCount не выполнен, поскольку существует четвертый пользователь. Пользователь из теста UserMoney все еще находится в памяти. Что я должен сделать, чтобы получить трех пользователей? Должен ли я собирать мусор первым Бобом?
Кроме того, я думаю, что тест, который попадает в другой тест, не будет хорошим модульным тестом. Я знаю, что это может быть аргументом, но я приму любой совет сообщества по этому коду. Спасибо за помощь.