Как сделать метод испытаний, используя работу другого метода испытаний? - PullRequest
0 голосов
/ 19 августа 2011

Вот что я делаю:

private String connection = "";

[TestMethod]
public void Connect()
{
    Encrypter encrypter = new Encrypter("64bit");

    String keyword = encrypter.Decrypt("5465465465==");

    // Check if crypter is changed
    Assert.AreEqual(true, encrypter.SetCrypter("AES"));

    this.connection = encrypter.Decrypt
        ("65465465466", keyword);
}

[TestMethod]
public void NhibernateFluentTest()
{
    NHibernate.ISessionFactory session =
        Fluently.Configure().Database(PostgreSQLConfiguration.Standard.ConnectionString(this.connection)).BuildSessionFactory();

    Assert.IsNotNull(session);
}

Метод тестирования «Connect» изменяет строку подключения, которую необходимо использовать в методе тестирования «NhibernateFluentTest», но это просто отдельные методы, а второй метод не можетсмотри первыйКак я могу решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

Чтобы настроить общее состояние, которое можно безопасно использовать во время тестов, создайте метод установки с использованием соответствующего атрибута.В MSTest я считаю, что это [TestInitialize], но вы сможете найти его.Существует аналогичный метод разрушения состояния.Эти методы будут выполняться до и после каждого теста.

1 голос
/ 19 августа 2011

Тесты никогда не должны зависеть от других тестов . Если тест не пройден или завершится успешно в зависимости от того, был ли выполнен другой тест, будет очень трудно полагаться на результаты теста.

Я бы посоветовал вам реорганизовать ваш код, чтобы был метод, который подготавливает строку в соответствии с требованиями обоих тестов, и вызывать этот метод из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...