Ну, эти данные не 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
. Есть и другие способы . ] генерировать тестовые данные в Кафке
Как Pokus мои тесты находятся в том же блоке как классы для тестирования так, я могу протестировать внутренности и рядовых.
В C# у Вас есть Отладка и Сборки конечных версий, я добавляю, что другой назвал UnitTest с директивой компилятора UNITTEST. Я могу затем добавить директиву (#if UNITTEST) наверху тестового класса, так, чтобы, когда я компилирую Отладку или Выпуск, тесты не были скомпилированы в, но когда я компилирую UnitTest, они.
Я добавляю папку под названием Тесты, которые содержат мои тестовые классы. Class1.cs имеет тестовый класс Tests\Class1UnitTest.cs.
Возможно, лучшие пути, но это работает на меня.
В установке 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
Поскольку я склонен делать TDD, я имею тестовый класс для каждого класса и группирую те тестовые классы в прямое один к одному соответствие тестового проекта к реальному проекту. В зависимости от размера решения тестовые проекты любой существует в том же решении (если маленький), или вспыхнитесь в разные решения (если больше)
Нам организовали его как этот (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 содержит временные файлы, созданные теми же тестами, и очищен для каждого набора тестов.
Я сохраняю свои модульные тесты в пакете в рамках проекта, который они тестируют. Таким образом, изо всех тестов выезжают управление версиями с кодом приложения. Каталог модульного теста является в основном зеркалом исходного каталога, так, чтобы структура пакета была идентична между двумя.
Как пример (не мои реальные имена пакета):
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
У меня есть свой тестовый класс в моем проекте, где класс. Таким образом, я могу протестировать Внутренний материал. Я добавляю "Тестовый" постфикс к имени класса. Пример: MyClass.cs будет MyClassTest.cs
Мне нравится иметь мой src, и тесты существуют в том же пакете. Таким образом, я организую мой следующим образом:
src/com/company/package/Class.java
testsrc/com/company/package/ClassTest.java
Я сохраняю их в отдельном пакете для всего продукта. Мне не нравится загромождать производственный код с кодом модульного теста.
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
Все мои методы объявляются виртуальной общественностью, я использую насмешку много также. Предоставленный, это главным образом прибывает из того, что обычно пакеты, я - поблочное тестирование, являются бизнес-логикой и слоями данных, таким образом, у них редко есть любые истинные внутренние методы. Но у меня действительно есть некоторые проекты, которые имеют "внутренние" методы. Для тех, если они - внутренний код компании, затем с помощью общественности для всех методов, не проблема. Я верю, не хотите ли Вы обнародовать все методы, можно использовать сборки со строгим именем и настроить их так, чтобы блок модульного теста мог получить доступ к внутренним методам. В затем заканчиваются, у меня есть опытная сборка единого блока, которая будет содержать все тестовые приспособления для всего проекта.
Мне организовал мой тест categorie теста. Если имеют весь мой файл модульного теста в 1 каталоге. Вся интеграция в 1 каталоге. У меня есть весь тест персистентности в другом. Все папки имеют многих файл для каждой подобной вещи протестировать.
Мы делаем непосредственные опытные сборки (C#). Для каждого блока в решении у нас есть соответствующий тестовый проект. Каждый проект имеет тест для каждого класса в соответствующем проекте.
Например:
Компания. Продукт. Функция
ClassnameAlpha
ClassnameBeta
ClassnameDelta
Компания. Продукт. Функция. UnitTests
ClassnameAlphaTests
ClassnameBetaTests
ClassnameDeltaTests
Я беру то, что xando делает немного далее. Вместо того, чтобы использовать конфигурации Отладки/Выпуска по умолчанию, у меня есть конфигурация для каждого из ответвлений, которые мы используем для конфигураций сборки в Сервере Основы Команды. Так, у меня есть Разработка, Интеграция и Производство. Не входя в отупляющим образом скучные специфические особенности, модульные тесты создаются для Настроек разработки и Конфигураций интеграции. Они включены в Производственное ответвление, но не скомпилированы со сборкой. Причина, что они включены, для того, когда мы должны отклониться Производства (текущие исправления, например), модульные тесты могут быть, работал, измененный и интегрированный реверсом с измененным кодом.
У нас в настоящее время только есть небольшое подмножество команды, использующей это прямо сейчас, как мы находимся в процессе миграции от продукта прежней версии и системы управления версиями, но до сих пор это работает хорошо. Аспект поблочного тестирования его работает особенно хорошо, до сих пор.
Мне нравится сохранять их близко к коду, который они поддерживают, обычно в отдельном подкаталоге. Тем путем я могу сделать, чтобы они скомпилировали с кодом, который делает их видимыми - это важно, проекты прежней версии, когда только несколько компонентов имеют модульные тесты.
.../component/src/
/include/
/doc/
/bin/
/test/
У нас обычно есть один комплект на двоичный файл, но это имеет исключения. Мы можем запустить все тесты в соответствии с любым каталогом с простой командой.
Правило ползунков состоит в том, чтобы иметь модульные тесты, легкие найти, легкий скомпилировать и легкий работать так, чтобы они не стояли на пути.