Как проверить помощник NUnit? - PullRequest
0 голосов
/ 12 сентября 2010

Я создаю библиотеку, вдохновленную RSpec, на основе NUnit 2.5+, чтобы улучшить читаемость моих тестов. Исходный код доступен по адресу http://github.com/educobuci/SpecUnit.

Эта библиотека позволяет мне писать такие тесты:

[Test]
public void It_should_returns_0_for_all_gutter_game()
{
    var game = new Bowling();
    for (int i = 0; i < 10; i++)
        game.Hit(0);
    game.Score.Should(Be.Equal(0));
}

Метод «Должен» - это метод расширения для всех Объектов, которые получают в основном Действие с некоторыми NUnit-утверждениями, подобными этому:

public static class Be
{
    public static Action<T> Equal(T to)
    {
        return (target) => NUnit.Framework.Assert.AreEqual(target, to);
    }
} 

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

Итак, как я могу это проверить? Я имею в виду, как убедиться, что «object.Should (Be.Equal (object))» действительно проверяет равенство?

1 Ответ

1 голос
/ 12 сентября 2010
[Test]
public void Be_Equal_action_throws_AssertionException_for_inequal_integers()
{
   var action = Be.Equal(0);
   bool raised = false;
   try
   {
       action(1);
   }
   catch (AssertionException)
   {
       raised = true;
   }
   Assert.IsTrue(raised, "No AssertionException was thrown");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...