UnitTest, как Вы организуете свои файлы тестирования?

Ну, эти данные не Avro, это JSON.

Если бы это были двоичные данные Avro, вы не смогли бы прочитать файл без предварительного использования действия avro-tools.jar tojson.

Если вы посмотрите на документацию по использованию, по умолчанию используется JSON

-j, --json: Encode outputted data in JSON format (default)

Чтобы получить Avro, используйте arg -s schema.avsc -b -o out.avro

. Есть и другие способы . ] генерировать тестовые данные в Кафке

11
задан Bill the Lizard 7 August 2012 в 14:36
поделиться

11 ответов

Как Pokus мои тесты находятся в том же блоке как классы для тестирования так, я могу протестировать внутренности и рядовых.

В C# у Вас есть Отладка и Сборки конечных версий, я добавляю, что другой назвал UnitTest с директивой компилятора UNITTEST. Я могу затем добавить директиву (#if UNITTEST) наверху тестового класса, так, чтобы, когда я компилирую Отладку или Выпуск, тесты не были скомпилированы в, но когда я компилирую UnitTest, они.

Я добавляю папку под названием Тесты, которые содержат мои тестовые классы. Class1.cs имеет тестовый класс Tests\Class1UnitTest.cs.

Возможно, лучшие пути, но это работает на меня.

4
ответ дан 3 December 2019 в 05:36
поделиться

В установке Java/Maven:

project/src/main/java/Package/Class.java
project/src/test/java/Package/ClassTest.java
project/src/main/resources/Package/resource.properties
project/src/test/resources/Package/test_resource.properties
6
ответ дан 3 December 2019 в 05:36
поделиться

Поскольку я склонен делать TDD, я имею тестовый класс для каждого класса и группирую те тестовые классы в прямое один к одному соответствие тестового проекта к реальному проекту. В зависимости от размера решения тестовые проекты любой существует в том же решении (если маленький), или вспыхнитесь в разные решения (если больше)

4
ответ дан 3 December 2019 в 05:36
поделиться

Нам организовали его как этот (C++):

package/Class.cpp
package/Class.hpp
package/test/ClassUnitTest.cpp
package/test/ClassIntegrationTest.cpp
test/unit-test/main.cpp
test/integration-test/main.cpp
test/data
test/tmp

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

3
ответ дан 3 December 2019 в 05:36
поделиться

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

Как пример (не мои реальные имена пакета):

src.com.app
src.com.app.model
src.com.app.view
src.com.app.controller

tests.com.app
tests.com.app.model
tests.com.app.view
tests.com.app.controller
1
ответ дан 3 December 2019 в 05:36
поделиться

У меня есть свой тестовый класс в моем проекте, где класс. Таким образом, я могу протестировать Внутренний материал. Я добавляю "Тестовый" постфикс к имени класса. Пример: MyClass.cs будет MyClassTest.cs

1
ответ дан 3 December 2019 в 05:36
поделиться

Мне нравится иметь мой src, и тесты существуют в том же пакете. Таким образом, я организую мой следующим образом:

src/com/company/package/Class.java
testsrc/com/company/package/ClassTest.java
1
ответ дан 3 December 2019 в 05:36
поделиться

Я сохраняю их в отдельном пакете для всего продукта. Мне не нравится загромождать производственный код с кодом модульного теста.

Company/Product/Package1
Company/Product/PackageN
Company/Product/UnitTest/Package1/Class/Method1Fixture.cs
Company/Product/UnitTest/Package1/Class/MethodNFixture.cs
Company/Product/UnitTest/PackageN/Class/Method1Fixture.cs
Company/Product/UnitTest/PackageN/Class/MethodNFixture.cs

Все мои методы объявляются виртуальной общественностью, я использую насмешку много также. Предоставленный, это главным образом прибывает из того, что обычно пакеты, я - поблочное тестирование, являются бизнес-логикой и слоями данных, таким образом, у них редко есть любые истинные внутренние методы. Но у меня действительно есть некоторые проекты, которые имеют "внутренние" методы. Для тех, если они - внутренний код компании, затем с помощью общественности для всех методов, не проблема. Я верю, не хотите ли Вы обнародовать все методы, можно использовать сборки со строгим именем и настроить их так, чтобы блок модульного теста мог получить доступ к внутренним методам. В затем заканчиваются, у меня есть опытная сборка единого блока, которая будет содержать все тестовые приспособления для всего проекта.

1
ответ дан 3 December 2019 в 05:36
поделиться

Мне организовал мой тест categorie теста. Если имеют весь мой файл модульного теста в 1 каталоге. Вся интеграция в 1 каталоге. У меня есть весь тест персистентности в другом. Все папки имеют многих файл для каждой подобной вещи протестировать.

0
ответ дан 3 December 2019 в 05:36
поделиться

Мы делаем непосредственные опытные сборки (C#). Для каждого блока в решении у нас есть соответствующий тестовый проект. Каждый проект имеет тест для каждого класса в соответствующем проекте.

Например:

Компания. Продукт. Функция
  ClassnameAlpha
  ClassnameBeta
  ClassnameDelta

Компания. Продукт. Функция. UnitTests
  ClassnameAlphaTests
  ClassnameBetaTests
  ClassnameDeltaTests

Я беру то, что xando делает немного далее. Вместо того, чтобы использовать конфигурации Отладки/Выпуска по умолчанию, у меня есть конфигурация для каждого из ответвлений, которые мы используем для конфигураций сборки в Сервере Основы Команды. Так, у меня есть Разработка, Интеграция и Производство. Не входя в отупляющим образом скучные специфические особенности, модульные тесты создаются для Настроек разработки и Конфигураций интеграции. Они включены в Производственное ответвление, но не скомпилированы со сборкой. Причина, что они включены, для того, когда мы должны отклониться Производства (текущие исправления, например), модульные тесты могут быть, работал, измененный и интегрированный реверсом с измененным кодом.

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

0
ответ дан 3 December 2019 в 05:36
поделиться

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

 .../component/src/
              /include/
              /doc/
              /bin/
              /test/

У нас обычно есть один комплект на двоичный файл, но это имеет исключения. Мы можем запустить все тесты в соответствии с любым каталогом с простой командой.

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

0
ответ дан 3 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: