When the application name is changed for each configuration, make it possible to use the module name of UnitTest’s testable with a common name
When I was working today, I got an error in the title for the first time in a while, so I’ll make a note of how to deal with it for a memorandum!
As I did in the article below, change the Scheme and Configuration settings in the Xcode project, create an application for each server connection destination, create a Configuration for Test, and name each application After changing , if you run UnitTest, you will get an error at the place written in the test code like @testable import HomeNote.
I think that error is telling you to use the Module name for each Configuration you build.
But if you do it that way, I think you’ll have to write it like this:
import XCTest
#if DEVELOP_DEBUG
@testable import HomeNote
#elseif DEVELOP_TEST
@testable import HomeNote-DT
...
#endifIt’s not practical to write a file for each test like this.
So let’s make it common to write like @testable import HomeNote.
To do so, change the PRODUCT MODULE NAME setting below.
- Select
Target->Build Settingsfor your app - Search `PRODUCT MODULE NAME`

So you probably have a different name for each Configuration.
Set this to the same name as your Target.
Actually, I think it can be achieved by setting the value of $(TARGET_NAME).
Now you can import with the Target name of the application as follows!
import XCTest
@testable import HomeNote