Я пытался заставить Visual Studio 2010 создавать модульные тесты для следующего класса, однако была выдана следующая ошибка. Я исследовал и обнаружил, что это вызвано тем, что ссылка не устанавливается до того, как она используется, однако я не вижу, где эта проблема существует в моем коде.
[Serializable]
class PrintUser : IEquatable<PrintUser>
{
public string Username { get; private set; }
public int PageLimit { get; set; }
public bool LimitEnforced { get; set; }
public PrintUser(string userName)
{
this.Username = userName;
}
bool IEquatable<PrintUser>.Equals(PrintUser other)
{
return this.Username == other.Username;
}
}
При попытке создать ваши тесты произошли следующие ошибки:
Ссылка на объект не установлена для экземпляра объекта.
ОБНОВЛЕНИЕ: я исправил проблему отсутствия проверки на ноль, однако это не решило проблему. Ошибка возникает при попытке создать тестовый код. Существует также еще одна странная ошибка, которая только что начала появляться в другом классе. Я написал класс, а затем щелкнул правой кнопкой мыши по методу equals и решил создать модульный тест только для этого метода. Затем произошла ошибка, и не было создано ни одного тестового кода.
C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ TeamTest \ Microsoft.TeamTest.targets (14,5): ошибка: подпись тела и объявление в реализации метода не совпадают , Тип: «PrintMonitorComponents.ADUserGroup_Accessor». Сборка: 'PrintMonitorComponents_Accessor, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null'.
ОБНОВЛЕНИЕ: Класс PrintUser (показанный выше) также выдает аналогичную ошибку, которая перечислена ниже. Я обновил свой код для проверки на нулевое значение в методе equals.
Подпись тела и объявление в реализации метода не совпадают. Тип: «PrintMonitorComponents.PrintUser_Accessor». Сборка: «PrintMonitorComponents_Accessor, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = ноль». PrintMonitorComponentsTest