Как выполнить модульное тестирование проекта с несколькими конфигурациями - PullRequest
0 голосов
/ 14 июня 2019

Внутри файлов TestCase мы всегда импортируем Имя продукта тестируемого продукта, например:

@testable import FooApp
import XCTest

Проблема, с которой я сталкиваюсь, состоит в том, что у меня несколько Имен продуктов, потому что у меня разные конфигурации

Configurations

Сообщение об ошибке, сгенерированное для этого, является No Such module <product module name>, и это из-за различных $PRODUCT_NAME, которые я настроил для своих различных конфигураций.

Есть ли способ сделать модульным @testable import, чтобы я мог запускать свои тесты на всех конфигурациях?

Ниже приведен пример того, как я устанавливаю Product Bundle Id, Product Module Name и Product Name.

enter image description here

Isесть ли способ сделать что-то похожее на приведенный ниже пример?

@testable import SomeWildCardHere
import XCTest

Поскольку альтернативой было бы сделать что-то похожее на приведенный ниже пример.

#if DEVELOP
@testable import App_Dev
#elseif STAGING
@testable import App_Stg
#elseif TEST
@testable import App_Tst
#else
@testable import App
#endif

1 Ответ

0 голосов
/ 26 июня 2019

Я обнаружил, что PRODUCT_MODULE_NAME не обязательно должен быть разным для каждой конфигурации.Это будет означать, что у меня может быть только один импорт для всех конфигураций.Хотя я не уверен, что, если в проектах, которые продвигаются вперед, будут негативные последствия.

@testable import App // for all targets

Обратите внимание: не меняйте PRODUCT_MODULE_NAME для производственного приложения, потому что оно сильноетекст

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...