Тестовое приложение для тестирования сериализаторов было сделано на NFX-библиотека .
Это библиотека Unistack. Честно говоря, мне сложно назвать еще один пример библиотеки Unistack. Возможно, есть что-то подобное в виде ServiceStack. Хотя ServiceStack, в отличие от NFX, размазан по нескольким dll. Но самое главное — ServiceStack — это не Uni, так как его части сделаны немного по-другому, и он не охватывает такое глобальное пространство, как NFX. Но целью этой статьи является обсуждение не концепции Unistack, а одной из особенностей использования NFX. Как использование NFX повлияло на наше тестовое приложение? Давайте посмотрим.
Тестовое приложение представляет собой консольное приложение.
Запускаем его и в конце получаем результаты теста.
Тестов может быть много, и все тесты можно запускать во всех комбинациях.
за один проход это будет глупо.
Что бы я делал без NFX? Скорее всего я бы добавил в командную строку несколько параметров, чтобы запускались только те, которые мне нужны Сейчас тесты.
Немного поработав, я бы добавил параметры конфигурации в файл конфигурации Xml и прочитал их оттуда.
Я бы, скорее всего, использовал простой массив параметров имя-значение в разделе appSettings файла конфигурации.
Можно построить и более сложную структуру конфигурации, но поддержка этого в .
NET не так проста, и я бы на время забыл о самих тестах и занялся разработкой и отладкой этого файла конфигурации.
Нет, я бы не стал делать сложную конструкцию, потому что она сложная, а польза, получаемая с ее помощью, не так уж и велика.
В NFX легко создавать сложные конфигурации.
Это настолько просто, что кардинально меняет дизайн нашего тестового приложения.
Допустим, я ничего не знаю о NFX и пытаюсь понять, как он работает на примере.
Я открою файл конфигурации объектный график .
Лаконф .
Вот раздел, описывающий сами тесты:
Очевидно, что раздел тестов содержит набор разделов тестов, каждый из которых определяет параметры одного теста.tests { test { type="Serbench.Specimens.Tests.ObjectGraph, Serbench.Specimens" name="Warmup ObjectGraph" order=000 runs=1 ser-iterations=1 deser-iterations=1 } test { type="Serbench.Specimens.Tests.ObjectGraph, Serbench.Specimens" name="Conferences: 1; Participants: 250; Events: 10" order=000 runs=1 ser-iterations=100 deser-iterations=100 .
Первый параметр — это тип, который снова явно указывает на тип (класс) в сборке.
В первом тесте это соответственно класс Serbench.Specimens.Tests.ObjectGraph в сборке Serbench.Specimens. Все остальные параметры также понятны без дополнительных пояснений.
Вот раздел, описывающий сериализаторы: serializers
{
// Stock serializers: they use only Microsoft .
NET libraries
serializer
Теги: #.
NET #Unistack #nfx #C++ #архитектура #разработка.
настройка #программирование #Анализ и проектирование систем #.
NET #Разработка для Windows
-
Стэнфорд, Похоже, У Нас Проблема...
19 Oct, 24 -
Введение В Параллельные Вычисления
19 Oct, 24 -
Эти Часы Пишут Время...
19 Oct, 24