Я использую NDBUbit для загрузки данных из XML-файла. Теперь я вручную даю GUID для каждой записи (наш первичный ключ для всех таблиц является уникальным идентификатором) в файле xml. Но, Интересно, есть ли лучший способ сделать это?Предоставление GUID для данных с использованием NDBUnit
ответ
Для всех тестовых данных в файлах XML для поддержки NDbUnit, где ваши значения PK имеют тип GUID, обратите внимание, что все, что требуется для типа данных, является GUID - его на самом деле не должно быть 'random' GUID.
Для таких тестовых данных, чтобы вы могли правильно ссылаться на другие ПК в FK (например), я всегда рекомендую использовать «детерминированные человеческие GUID» в ваших тестовых данных. Они оба удовлетворяют требованию, чтобы значение было GUID и упрощало работу с ними при создании ваших тестовых данных.
В качестве примера, видим следующее:
<?xml version="1.0" encoding="utf-8" ?>
<UserDS xmlns="http://tempuri.org/UserDS.xsd">
<Role>
<ID>11111111-1111-1111-1111-111111111111</ID>
<Name>Admin</Name>
<Description>Serves as an administrator</Description>
</Role>
<Role>
<ID>22222222-2222-2222-2222-222222222222</ID>
<Name>User</Name>
<Description>User with limited security</Description>
</Role>
<dbo.User>
<ID>22222222-2222-2222-2222-222222222222</ID>
<FirstName>John</FirstName>
<LastName>Williams</LastName>
<Age>30</Age>
<SupervisorID>11111111-1111-1111-1111-111111111111</SupervisorID>
</dbo.User>
<dbo.User>
<ID>11111111-1111-1111-1111-111111111111</ID>
<FirstName>Hammad</FirstName>
<LastName>Awan</LastName>
<Age>29</Age>
</dbo.User>
<UserRole>
<UserID>11111111-1111-1111-1111-111111111111</UserID>
<RoleID>11111111-1111-1111-1111-111111111111</RoleID>
</UserRole>
<UserRole>
<UserID>22222222-2222-2222-2222-222222222222</UserID>
<RoleID>11111111-1111-1111-1111-111111111111</RoleID>
</UserRole>
<UserRole>
<UserID>11111111-1111-1111-1111-111111111111</UserID>
<RoleID>22222222-2222-2222-2222-222222222222</RoleID>
</UserRole>
</UserDS>
В этом случае, чтобы управлять этим тестовые данные все, что вам нужно «знать» о GUIDs том, что они 32chars долго в формате 8chars-4chars- 4chars-4chars-12chars. Нет НИЧЕГО, чтобы все персонажи были ТОЛЬКО, если вы создаете свои тестовые данные «вручную», как это. Этот подход исключает необходимость генерации «фактических GUID» для ваших тестовых данных и позволяет легко ссылаться на них путем простого повторения представлений GUID, как показано в примере выше.
Обратите внимание, что в этом сценарии вы принимаете 100% ответственности за «единство» идентификаторов GUID, которые вы вводите в свои тестовые данные, чтобы эти тестовые данные можно было безопасно использовать отдельно от других GUID- основанные на данных. Это (как правило) не должно быть проблемой, так как вся точка NDbUnit - это загрузка и управление данными, такими как это изолировано.
Если вы не хотите редактировать свои тестовые данные вручную в XML-файле, подобном этому, мы близки к альфа-выпуску инструмента под названием «Редактор DataDet NDbUnit», который предоставляет графический интерфейс для редактирования тестовых данных и также содержит кнопку панели «Создать и вставить GUID» для таких ситуаций. Однако обратите внимание, что GUID, сгенерированные в таком случае, будут «реальными» GUID, что означает, что копирование и вставка будет единственным разумным способом ссылаться на один как FK другой записи в другом месте в DataSet.
Надеюсь, это поможет.
- 1. Модульное тестирование с использованием основы NDBUnit
- 2. предоставление подробных данных для веб-службы с интенсивным использованием данных
- 3. Предоставление данных для диалога
- 4. Предоставление данных для фрагментов
- 5. класс репозитория в учебнике NDBUNIT
- 6. Предоставление диаграммы google с использованием данных хранилища данных
- 7. Добавить ссылку с использованием GUID
- 8. Предоставление Moodle с использованием API
- 9. Таблица обновлений с использованием GUID
- 10. Сокращенный GUID с использованием CRC
- 11. Предоставление данных $ _post и $ _get перед использованием
- 12. Предоставление изображения с использованием C
- 13. NDbUnit Ошибка конфигурации сборки MySQL
- 14. Предоставление стоимости с использованием метода
- 15. Предоставление иерархии с использованием LINQ?
- 16. сервер служб данных wso2 - вставка CRUD с использованием Java-GUID
- 17. Slapper.Automapper с Dapper.net с использованием идентификаторов Guid
- 18. Фильтровать имена баз данных в sql-сервере с использованием GUID
- 19. Проверка подлинности через домен с использованием базы данных и GUID
- 20. Предоставление тестовых данных для SharedPreferences для Robolectric
- 21. Предоставление данных для Mock для модульного тестирования
- 22. Использование NDbUnit с таблицами, которые имеют схему таблицы
- 23. Создание GUID с использованием собственного алгоритма
- 24. Удаление MSI с использованием msiexec и GUID
- 25. , используя другую схему, кроме dbo в ndbunit
- 26. Предоставление данных SQL клиентам
- 27. Предоставление неупорядоченного списка с использованием asp.net
- 28. Предоставление данных тестирования WCF
- 29. Предоставление задания на печать с использованием PHP
- 30. Как установить Guid с использованием Microsoft Unity
Yeh, вот что я сделал «Для таких тестовых данных, чтобы вы могли правильно ссылаться на другие ПК в FK (например), я всегда рекомендую использовать« детерминированные человеческие GUID »в ваших тестовых данных. удовлетворяют требованию, чтобы значение было GUID и упрощало работу с ними, когда вы создаете свои тестовые данные ». – jess
Но мне все еще кажется боль, чтобы написать эти GUID вручную – jess