Что касается модульного тестирования, я хочу спросить, какую функцию / метод мы можем использовать в качестве объекта модульного тестирования - PullRequest
0 голосов
/ 05 августа 2010

Я новичок в модульном тестировании, поэтому хочу спросить, какую функцию / метод мы можем использовать в качестве объекта для модульного тестирования.

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

Кстати, я не спрашиваю о платформе модульного тестирования. Я хочу знать, какую функцию я могу использовать в качестве объекта модульного тестирования.

Ex:

   // function that return a value.
   string getTitle()
   {
       // TODO: code logic here
       return "A Title";
   }

Or
   // function that no return a value
   void doAction()
   {
       // TODO: code logic here
   }

=> какой из них можно использовать в качестве объекта модульного тестирования.

Ответы [ 4 ]

2 голосов
/ 13 августа 2010

Ваш вопрос действительно расплывчатый.

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

Если вы хотите протестировать код, который вызывает объекты SharePoint, вам нужно поговорить об инструментах. Вы должны подделать их, используя Typemock Isolator или Moles Объектная модель SharePoint полна конкретных, не наследуемых объектов.

0 голосов
/ 05 августа 2010

Если вы используете .NET, я бы настоятельно рекомендовал Moq для создания только тестовых реализаций интерфейсов. Если у вас нет объявлений интерфейса, Moles позволит вам тестировать жестко закодированные зависимости. Однако используйте это с осторожностью, так как, по моему мнению, если вы часто используете родинки, у вас возникают проблемы с дизайном в связи с отсутствием абстракции. Если вы ищете инфраструктуру для модульного тестирования, то NUnit может многое сделать с точки зрения того, насколько гибко это писать. У нас были некоторые проблемы с получением кротов для приятной игры с NUnit, поэтому в целом мы перешли на MSTest, встроенный в Visual Studio; хотя он не так хорош, как NUnit, он тестирует без проблем.

Если вы хотите провести модульное тестирование своих веб-страниц sharepoint, тогда вы действительно ищете Selenium , чтобы помочь с этим. Хотя он очень хрупкий, поэтому я бы оставил его, пока вы не будете уверены, что ваш пользовательский интерфейс завершен

Если вы совершенно не знакомы с модульным тестированием, я настоятельно рекомендую сначала прочитать об этом. Если вы устали смотреть на веб-страницы, просто создайте новое веб-приложение MVC и взгляните на модульные тесты, созданные из коробки, чтобы получить представление (просто игнорируйте их ужасные имена методов тестирования)

0 голосов
/ 06 августа 2010

Чтобы ответить на ваш вопрос, первый тест - это простой объект для тестирования

assertSame (getTitle (), "A Title");

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

class SomethingDoer {
    public sense = false;

    public void DoAction()
    {
        // TODO: code logic here
        sense = true;
    }
}

test: public doer = New SomethingDoer ();

doer.DoAction();


assertTrue(doer.sense);

Я использую значение переменной public для проверки.

[ПРИМЕЧАНИЕ] Это просто игрушка, чтобы объяснить концепцию модульного тестирования, требующую способ почувствовать и проверить поведение тестируемой системы.

0 голосов
/ 05 августа 2010

Если вы являетесь Java-разработчиком, вы используете JUnit или TestNG в качестве среды тестирования.

Вы пишете классы модульных тестов, которые осуществляют ваши классы Java.Вы создаете экземпляры и вызываете их методы в тестах.

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