这是我的简单测试用例:
import XCTest
@testable import MyApp //it doesn't work
正因为如此:
class TabBarControllerTests: XCTestCase {
override func setUp() {
super.setUp()
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject([], forKey: DBTabBarOrderedIndexesKey) //key is undefined, because of lack of my app module
defaults.synchronize()
continueAfterFailure = false
XCUIApplication().launch()
}
func testIsOrderOfTabsSaved() {
XCUIApplication().tabBars.buttons["Catering"].tap()
//what next?
}
}
点击uitabaritem
后,我会更改DBAppSettings的值。模式
,所以我想在这里访问我的数据库设置。模式
属性,以检查是否真的发生了更改。
我注意到有一件奇怪的事情,当我构建我的应用程序并检查构建的内容时,我的UITest目标没有构建。这很重要吗?
与其让你的测试知道你的应用程序,不如试着把它转过来,让你的应用程序知道它正在被测试。一种方法是使用启动参数
属性:
app = XCUIApplication()
app.launchArguments.append("TestMode")
app.launch()
然后在你的应用程序中:
if NSProcessInfo.processInfo().arguments.contains("TestMode") {
// I am running in test mode
}
在您的情况下,应用程序可以相应地设置NSUserDefaults。
UI测试中需要访问的每个对象都必须是UI测试目标的一部分。这包括对象依赖。这是一个滑坡,相当混乱。
这是苹果公司的回应:
UI测试的执行方式不同于单元测试——单元测试在应用程序进程内部运行,因此它们可以访问应用程序代码。UI测试在应用程序之外的单独流程中执行,因此它们可以模拟用户与应用程序的交互方式。不希望您能够通过UI测试访问应用程序类。
问题内容: 我刚刚在我的express应用程序中添加了shouldjs和mocha进行测试,但是我想知道如何测试我的应用程序。我想这样做: 当然,测试套件中的最后一个测试只是告诉med,res.render函数(在show_create_user_screen中调用)是未定义的,可能是因为服务器未运行且配置尚未完成。所以我想知道其他人如何设置他们的测试? 问题答案: 好的,虽然测试路由代码是您可能
我去了我的应用服务 在那里我启用了:应用程序日志记录(Blob)和Web服务器日志记录(存储) 上面的设置开始记录一个. log文件,其中每一行都是对我的应用的HTTP请求,标题如下: 我感兴趣的是为服务器响应HTTP 500的请求记录发布的JSON。我如何从Azure门户实现这一点?
问题内容: 我有一个Node项目,该项目正在使用Bundler和Guard处理我的预编译步骤。这意味着我在项目的根目录中有一个Gemfile以及package.json文件。 我的问题是Heroku认为我的项目是Ruby应用程序,仅因为Gemfile存在。并且抱怨我还没有提交我不想提交的Gemfile.lock。 有没有办法告诉Heroku该应用程序是Node应用程序而不是Ruby应用程序? 问题
问题内容: 我想挂断来电,检测到它,然后挂断。 问题是:这没有解决。 我试图将包添加到我的应用程序并创建接口: 但通话并未结束。 在这里,我检测到呼叫,显示toast(已显示),然后尝试挂断,但是正如我首先说的那样,com.android.internal.telephony.ITelephony在创建该程序包之前没有: 我的清单和权限: 问题答案: 该ITelephony接口是内部接口,因此您无
问题内容: 我已经下载了两个罐子。我想导入其中一些包含的类。我该怎么做呢? 这是我的算法课程。我尝试按照以下网站上的说明进行操作,但均无济于事。 http://algs4.cs.princeton.edu/code/ 有一个OSX安装程序(我正在运行Mountain Lion),据说它会将jar添加到您的类路径中。不幸的是,它也安装了Java博士。我宁愿只使用Sublime和Terminal。我以
我想在我的应用程序中添加带有,但一旦我将插件添加到我的应用程序中。yaml,我的应用程序不再运行。下面是错误 失败:生成失败,出现异常。 > 错误:任务执行失败:app:transformDexArchiveWithExternalLibsDexMergerForDebug'。 通用域名格式。Android建设者德兴。DexArchiveMergerException:合并dex存档时出错:/Us