Как инициализировать набор ConnectionStrings в NUnit

Вы можете использовать словарь для этого.

import UIKit

struct TestData {
    let Label : String
    var Money : Double
}

var SaveDate = [TestData]()
SaveDate.append(TestData(Label: "test1", Money: 55))
SaveDate.append(TestData(Label: "test1", Money: 35))
SaveDate.append(TestData(Label: "test2" , Money: 15))
SaveDate.append(TestData(Label: "test1" , Money: 10))
SaveDate.append(TestData(Label: "test3" , Money: 30))

var dictionaryOfValues:[String:Double] = [:]

func addUp() {
    for currentItem in SaveDate {
        dictionaryOfValues[currentItem.Label] = (dictionaryOfValues[currentItem.Label] == nil ? currentItem.Money : dictionaryOfValues[currentItem.Label] + currentItem.Money)
    }
}

addUp()
print(dictionaryOfValues) //["test1": 100.0, "test2": 15.0, "test3": 30.0]

Я запустил это на Swift Playground.

Словарь может отслеживать, когда вы столкнулись с меткой или нет. Причина, по которой я это делаю dictionaryOfValues[currentItem.Label] = (dictionaryOfValues[currentItem.Label] == nil ? currentItem.Money : dictionaryOfValues[currentItem.Label] + currentItem.Money), заключается в том, что ему необходимо либо 1) добавить его в словарь, либо 2) добавить текущее значение к значению, уже существующему в словаре.

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

5
задан Alexander Prokofyev 30 September 2008 в 11:02
поделиться

3 ответа

Если у Вас есть свой блок модульного теста под названием Company.Component.Tests.dll, то просто удостоверяются та Компания. Компонент. Tests.dll.config там с надлежащей строкой подключения.

Кроме того, это могла бы быть хорошая идея отделить Ваш класс поставщика соединения из конфигурации, так, чтобы у Вас была гибкость в персистентности (т.е.: переключение от *.config до чего-то еще) и более легкое тестирование.

Также выезд, "Как NUnit Находит Файлы конфигурации"

7
ответ дан 18 December 2019 в 09:55
поделиться

Можно использовать app.config для библиотек (где я предполагаю, что тесты), и поместите их там.

1
ответ дан 18 December 2019 в 09:55
поделиться

NUnit .config расположение файла зависит от того, как Вы создали файл проекта NUnit

То, где .config файлы для тестов NUnit расположены, сложно, чем другие сообщения здесь предлагают. Существуют настройки для этого в диалоге Проекта/Редактирования GUI NUnit. Значения по умолчанию все зависят от того, как Вы создали свой файл проекта NUnit.

Когда Вы открываете NUnit GUI, и выбор Регистрируют/Открывают и затем выбирают .dll файл, новый проект будит набор с настройками для поиска файла конфигурации с тем же именем как dll в том же каталоге. Таким образом, если Вы загрузились \bin\debug\MyTests.dll NUnit ищет \bin\Debug\MyTests.dll.config по умолчанию. Единственная проблема с этим состоит в том, что при создании сборки конечных версий, необходимо создать отдельный проект NUnit.

При создании проекта NUnit путем выбора File/NewProject затем, настройка по умолчанию должна искать файл конфигурации с тем же именем как проект NUnit. Таким образом, если Вы создали \MyNUnitProject.nunit NUnit ищет \MyNUnitProject.config по умолчанию.

Возможности - Вы, использовали Visual Studio для создания \App.config файл и застрявший это в исходной папке для Вашего теста dll. Когда Вы buld Ваш тестовый проект это копируется в \bin\Debug\MyTests.dll.config или \bin\Release\MyTests.dll.config в зависимости от конфигурации Вы выбрали. При открытии MyTest.dll непосредственно в NUnit, это будет хорошо работать, однако при создании нового проекта NUnit, Вы в беде, поскольку он не будет искать эти файлы по умолчанию.

Для решения вопроса, необходимо открыть диалоговое окно Проекта/Редактирования в GUI NUnit и проверить, что у Вас есть две Отладки Конфигураций и Выпуск для соответствия проекту .NET. После того как Вы сделали это, можно выбрать Настройку отладочного процесса и установить ApplicationBase на bin\Debug\ и определенный Имя Конфигурационного файла к MyTests.dll.config. Сделайте то же для конфигурации Выпуска, и далеко Вы идете.

9
ответ дан 18 December 2019 в 09:55
поделиться
Другие вопросы по тегам:

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