问题标签 [xctest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6063 浏览

xcode - 如何在 Xcode 中清除单元测试结果?

我无法清除 Xcode 4 中单元测试的测试结果。基本上,我运行了一个单元测试,导致正常警告。但是,当我切换到常规包并运行构建时,单元测试结果仍然存在。

有没有办法从问题导航器中清除它们?

基本上,我想要一种清除问题导航器的方法。

0 投票
7 回答
7634 浏览

ios - 是否可以测试 IBAction?

对 IBOutlets 进行单元测试有点容易,但是 IBActions 呢?我试图找到一种方法来做到这一点,但没有任何运气。有没有办法对视图控制器中的 IBAction 和 nib 文件中的按钮之间的连接进行单元测试?

0 投票
1 回答
2861 浏览

ios - 无法使用 XCTest 启动测试

一切正常,但在某些构建中我得到了这个(尝试启动测试时):

无法加载“xctest 路径”处的测试包,因为它是为与当前运行的测试平台(以 x86_64 运行)不同的架构构建的

我究竟做错了什么?我尝试重建、清理、重新启动 Xcode、重新启动 OS X ......

0 投票
1 回答
982 浏览

xcode - Clang 错误:对 NSUTF8StringEncoding 的引用不明确

我正在尝试使用 Xcode 5 中引入的新 XCTest 框架创建单元测试。我的一个测试用例中有一行如下所示:

XCTAssertEqual([self.client stringEncoding], NSUTF8StringEncoding, …);

当我尝试运行我的测试时,Xcode 吐出这个错误:“对 NSUTF8StringEncoding 的引用不明确。” 我可以通过将上面的行更改为:

XCTAssertEqual([self.client stringEncoding], (NSStringEncoding) 4, …);

(这是有效的,因为 4 是 的值NSUTF8StringEncoding。)当我分配NSUTF8StringEncoding给局部变量并在XCTAssertEqual()调用中使用它时也会发生这种情况。为什么我会收到此错误?

0 投票
1 回答
1121 浏览

objective-c - 是否可以将 XCTAsserts 放入循环中?

我正在学习单元测试和 XCode 的 XCTAssert 语句。

我有一种情况,我想根据环境的设置方式以动态的方式依次测试一堆东西。

我正在尝试做类似的事情:

......它不起作用。测试就通过了,甚至似乎没有评估 XCTAssert 语句。

这可能吗?

0 投票
3 回答
7745 浏览

cocoa - 添加测试目标时,Xcode 5 抛出“库未加载”错误

我尝试使用 Add Target -> Add Cocoa Touch Unit Testing Bundle 在 Xcode 5 上添加测试目标。但是,当我运行测试时,出现以下错误:

2013-09-24 10:43:14.446 Stack Exchange[48895:c07]加载 /Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest/时出错Stack Exchange 测试:dlopen(/Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest/Stack Exchange 测试,262):库未加载: /Developer /Library/Frameworks/XCTest.framework/XCTest 引用自:/Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest/Stack Exchange测试原因:找不到图像IDEBundleInjection.c:加载包时出错 '/Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest'程序以退出代码结束:0

为什么这不起作用?

0 投票
3 回答
4278 浏览

xcode5 - XCTest 没有在 Xcode 5 中完成

我有一个测试类和一个测试用例。当我运行单元测试时,Xcode 告诉我所有的测试都通过了,但是我有一个警告说我的测试没有完成。

我是否必须对 XCTest 做一些特别的事情才能让它知道我已经完成了特定的测试用例?

更新:这可能是时间问题/错误。我放了一个 [NSThread sleepForTimeInterval:.1]; 在 tearDown 方法中,现在它每次都有效。Xcode 还可以在没有睡眠的情况下定期自行完成测试。

更新 2:看起来像一些奇怪的 Xcode 错误,我添加了第三个测试,它只是进行文本格式验证,警告再次出现。

测试失败图像

0 投票
1 回答
2923 浏览

ios - 使用 XCTest 设置一个 TestProject,其中包含 iOS 和 OSX 的两个测试目标以及共享单元测试

我想在一个 Xcode 项目中的两个单独的测试目标中对一个库进行单元测试,该项目在 Mac OS X 和 iOS 上执行单元测试。单元测试文件应共享。

这似乎是不可能的,或者不打算工作,或者以其他方式揭示了一个错误:

虽然可以为每个 iOS 和 Mac OS X 运行完整的单元测试(通过命令 Product -> Test),但无法通过单击装订线中的菱形来运行单独的测试方法:

在此处输入图像描述

执行此操作时,Xcode 会打开一个错误表,告诉您:

运行目标 My Mac 64 位对您选择执行的测试无效。

请选择支持您希望执行的测试的运行目标。

在此处输入图像描述

我想,问题似乎是在一个有两个目标的项目中,共享单元测试文件必须与 iOSMac OS X 测试目标相关联。也就是说,为 iOS 和 MacOSX 目标设置了特定单元测试文件的“目标成员资格”。

从排水沟中的菱形开始单独的测试似乎只在将共享的单元测试文件关联到一个目标时才有效。

有没有人设法让这个工作?什么是替代解决方案?

0 投票
2 回答
2377 浏览

iphone - xcode 5 XCTestCase 运行不符合我的预期

在单元测试用例中,我尝试为我的应用程序创建一些自己的逻辑,例如从当前的另一个用户名注册或连接到不同的服务器,而无需重复现有代码。我尝试做的第一步是创建 XCTestCase、alloc 类,它支持外部连接并尝试从他那里获得委托调用。但是 NSURLConnection 只是等待没有网络交换,所以我没有成功。

下一个案例,我尝试做的是等待应用程序完成并执行所有问题:

但在这种情况下,应用程序启动,执行所有当前周期,但我不知道如何从当前应用程序代码中检测到正在运行的单元测试。我试图在单元测试目标上设置预处理器宏,但它不会影响应用程序内的代码,也只会影响测试类的代码。

有任何想法吗?

0 投票
1 回答
9980 浏览

xcode5 - Xcode 5 中单元测试的使用

我正在编写我的第一个更大的 iOS 项目,我想尽可能多地使用 Xcode 5。现在我想使用测试,但我以前从未做过。

我的项目使用来Views动态`TableViews。我怎样才能在代码中实现测试,这样才有意义?