База данных для импорта результатов NUnit? - PullRequest
7 голосов
/ 23 апреля 2009

У меня большой набор тестов NUnit; Мне нужно импортировать результаты данного прогона в базу данных, затем охарактеризовать набор результатов и представить их пользователям (электронная почта для неудачных испытаний, веб-презентация для проверки результатов). Мне также нужно отслеживать несколько прогонов с течением времени (для сообщения о частоте отказов во времени и т. Д.).

XML будет XML, сгенерированным nunit-console. Я хотел бы импортировать XML с минимальными усилиями в некоторую базу данных, которая затем может быть использована для сохранения и представления результатов. У нас будет несколько пользовательских категорий, которые нам также нужно будет отсортировать.

Кто-нибудь знает схему базы данных, которая может обрабатывать импорт данных этого типа, которые можно настроить в соответствии с нашими индивидуальными потребностями? Похоже, что этот тип проблемы должен быть общим, и поэтому для него должно существовать общее решение, но я не могу его найти. Если кто-то реализовывал такое решение раньше, совет будет также признателен.

Ответы [ 7 ]

4 голосов
/ 23 апреля 2009

Мне кажется, что вы на самом деле после сервера сборки, такого как CruiseControl.NET или TeamCity .

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

Я рекомендую TeamCity, поскольку его проще настроить на несколько порядков.

2 голосов
/ 07 декабря 2009

Я здесь, чтобы решить ту же проблему. В настоящее время мы склоняемся к написанию XSLT для преобразования результатов XML в операторы вставки. Затем запустите полученный файл операторов вставки через интерпретатор SQL командной строки. В идеале я предпочел бы иметь надстройку / расширение NUnit, которая обрабатывает все это для меня. К сожалению, я не смог найти его.

1 голос
/ 22 мая 2010

Мы надеялись избежать этого, но мы сгенерировали схему базы данных из XML-схемы результата NUnit; тем не менее, он немного несовершенен, потому что NUnit выполняет некоторую (неточную и странную) обработку для определения некоторой критической статистики (например, «игнорируется» или «не выполняется»).

Мы все еще надеемся найти схему / процесс, который НЕ является законченной системой построения CIT, которая может позволить нам настроить базу данных для импорта результатов, но в настоящее время мы используем свернутую вручную базу данных, которую мы будем нужно много настраивать, чтобы получить желаемую отчетность.

1 голос
/ 10 декабря 2009

Еще одна альтернатива CruiseControl или TeamCity - Atlassians Bamboo , если вы ограничены в деньгах. Я большой поклонник их программного обеспечения, потому что они просты в использовании, и они договорились о том, где можно взять бамбук за 10 баксов.

1 голос
/ 08 декабря 2009

При использовании MS SQL вы можете импортировать все XML-файлы в общий столбец типа данных [xml]. После этого можно выполнять xpaths, поиск и преобразования.

1 голос
/ 07 декабря 2009

Чтобы построить ответ IainMH, вы можете взглянуть на использование Trac с BITTEN , это система сборки с открытым исходным кодом, которая может запускать n-модульные тесты и сообщать результаты. Я в настоящее время использую это для той точной функциональности.

0 голосов
/ 20 мая 2010

Зачем вам нужны результаты в базе данных? Кто будет их использовать? Количество сбоев не может быть большим. Если это (неоднократно), ваш процесс разработки неверен. Исправить процесс. Ликвидация отходов (один из бережливых принципов), не собирайте их.

Делайте меньшие шаги (короткие итерации, непрерывная сборка), устраняйте зависимости.

Это обычно не делается, потому что проекты, которые имеют такие проблемы, не доставляют, а отменяются (в конце концов).

[править] Майкл, отслеживание отказов агрегатов в течение более длительного времени дает нулевое значение. Вам нужен короткий цикл обратной связи. Исправьте проблемы сейчас. Если вы будете ждать, пока накопится много проблем, вы будете ошеломлены шумом.

Хорошее отслеживание проблем выполняется на правильном (максимально возможном уровне абстракции) уровне. Определенно не модульный тест.

...