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

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

Мне нужен модульный тестовый код sharepoint, написанный на 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
   }

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


person Q. Tuyen    schedule 05.08.2010    source источник
comment
Модульное тестирование чего? Джава? С#? Sharepoint?   -  person duffymo    schedule 05.08.2010
comment
Какое отношение к этому имеет Sharepoint? Вы ДОЛЖНЫ задать более конкретный вопрос, если хотите увидеть полуприличный ответ. Как вы думаете, почему вам нужно начать с модульного тестирования?   -  person Hamish Grubijan    schedule 05.08.2010
comment
Мне нужен модульный тестовый код sharepoint, написанный на C#. Кстати, я не спрашиваю о структуре модульного тестирования. Я хочу знать, какую функцию я могу использовать в качестве объекта модульного тестирования. Пример: // функция, возвращающая значение. string getTitle() { // TODO: логика кода здесь return A Title; } Или // функция, которая не возвращает значение void doAction() { // TODO: закодируйте здесь логику } => которую один из них можно использовать как объект модульного тестирования.   -  person Q. Tuyen    schedule 05.08.2010


Ответы (4)


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

assertSame(getTitle(), "Название");

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

class SomethingDoer {
    public sense = false;

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

тест: public doer = New SomethingDoer();

doer.DoAction();


assertTrue(doer.sense);

Я использую смысл общедоступной переменной для тестирования.

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

person Gutzofter    schedule 05.08.2010

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

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

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

person Mike    schedule 13.08.2010

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

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

person duffymo    schedule 05.08.2010

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

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

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

person Dylan    schedule 05.08.2010