- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
为了在单元测试中测试一些类,我写了一个模拟的 Coredata
管理器。
我有大约 10 个类从名为 DatabaseManager
的类中获取 NSManagedObjectContext
。我已经决定是否运行单元测试,不处理实际的 Coredata NSManagedObjectContext
,而是重定向到 Mock Coredata
类以获取 NSManagedObjectContext
。
func getContext() -> NSManagedObjectContext {
if ProcessInfo.processInfo.environment["XCTestConfigurationFilePath"] == nil
{
return persistentContainer.viewContext
}
else
{
return MockDatabaseController.instance.managedObjectContext()
}
}
这在单元测试和调试中以及通过即席分发时都非常有效。
但我担心的是,如果它无法从 ProcessInfo.processInfo.environment["XCTestConfigurationFilePath"]
中获取正确的值,应用程序可能会毫无用处。
在生产代码中使用 ProcessInfo.processInfo.environment["XCTestConfigurationFilePath"]
的可行性如何?
最佳答案
我会使用 Swift 条件编译以及在构建参数中传递的 -D 标志,以确保代码仅在测试环境中处于事件状态,并且永远没有机会将其投入生产。
关于ios - 在生产应用程序中使用 ProcessInfo.processInfo.environment 有多危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43923445/
为了在单元测试中测试一些类,我写了一个模拟的 Coredata 管理器。 我有大约 10 个类从名为 DatabaseManager 的类中获取 NSManagedObjectContext。我已经决
我想知道它们有什么不同 CommandLine ProcessInfo let elements = CommandLine.arguments let elements = Processinfo.
我正在开发一个需要在低内存设备上定制的应用程序。可用的设备内存将通过以下方式快速给出: ProcessInfo.processInfo.physicalMemory 例如: iPhone SE 提供
我有一个应用程序在命令窗口中调用另一个进程,并且该进程更新了输出到控制台窗口的统计信息。我认为这是一个相当简单的操作,但我似乎无法让它工作。我错过了什么吗? string assemblyLocati
我正在尝试调用 WTSEnumerateProcesses(),但在将类型 ProcessInfo 转换为 WTS_PROCESS_INFO 时遇到了一些问题。 这是我目前的代码: 进程信息
我正在尝试在 Swift 中为 MacOS 构建一个应用程序来记录有关正在运行的应用程序的一些信息。我想获取的一些信息与相应的进程(用户等)有关,但似乎无法从NSRunningApplication
我以前成功使用过 wkhtmltopdf,但现在我有一个场景,我需要在启动该过程时使用特定的帐户。当我设置有效的用户名/密码时,标准输出流为空,返回码为 -1。一旦我注释掉用户名/密码,它就会按预期工
我正在尝试在 JBoss7 应用程序服务器上部署的 jBPMv5.x 上执行简单的人工任务 bpmn。数据库是Postgresql V9.2。我发现任务正在提交到数据库,但即使在调用 ksession
我有一个使用 Swift 2.2 构建的 iOS 应用程序,最近开始出现问题。它在通过 Xcode 构建和运行时工作正常,但在从 Xcode 停止应用程序然后尝试直接从手机(真实设备和模拟器)再次打开
在 Swift 4 中,我使用 ProcessInfo().environment["SIMULATOR_MODEL_IDENTIFIER"] 得到了错误的 iPhone 5s、iOS 11 iOS
我是一名优秀的程序员,十分优秀!