Ema*_*uel 32 unit-testing xctest xcode7
我想测试目标添加到我的项目,然而,当我进行的测试,好像不被执行的实际测试,而不是Xcode的报道总是成功,但小方这表明,如果测试通过与否遗体明确.
我只有一个测试目标和一个类:
@implementation Tests
- (void)setUp {
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testExample {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
XCTAssert(false, "");
}
- (void)testPerformanceExample {
XCTAssert(false, "");
}
@end
Run Code Online (Sandbox Code Playgroud)
测试应该失败,但它显示一个弹出窗口表示成功.此外,测试报告称没有测试.
如果我尝试单独运行测试,测试"成功"但我没有获得有关报告的信息,并且方块仍为空.
关于如何修复它的任何想法?
小智 26
对于遇到此问题的任何其他人,请检查以确保您的测试类继承自XCTestCase而不是XCTest.在我意识到我是从错误的类继承之前,我一直在疯狂地尝试所有这些解决方案.Xcode没有抱怨,它只会说测试成功而不运行它们.希望这有助于某人.
小智 22
如果您正在为iOS构建,那么您通常将Xcode设置为在物理设备上运行吗?如果是这样,请尝试将其设置为在iOS模拟器上运行.
我发现,如果您将Xcode 7设置为物理设备单元,则测试将完全按照您的描述运行.将Xcode设置为暂时在iOS模拟器上运行以进行单元测试可以解决问题,现在它就像魅力一样.
我希望这可以帮助任何人遇到同样的问题.:d
huw*_*uwr 15
值得一提的是将来坚持这一点的人:Xcode只运行以'test'开头的XCTestCase函数.这与其他平台相反,当我开始在iOS中进行测试时,这让我很困惑.
在以下课程中:
class MyBigTest: XCTestCase {
func testSensibleInputReturnSensibleAnswer() {
XCTAssert(/* stuff */)
}
func someOtherTest() {
XCTAssert(/* some other stuff */)
}
}
Run Code Online (Sandbox Code Playgroud)
只会testSensibleInputReturnSensibleAnswer()跑.
Ric*_*att 10
关闭iOS设备,然后重新打开电源.您可能还需要移除USB电缆并重新连接,以便Xcode可以重新建立与设备的通信.当这发生在我身上时,测试会报告测试成功立即没有测试运行.我还注意到,当我尝试记录每次Xcode崩溃的新UI测试操作时 - 类似于我在第一次启用iOS设置 - 开发人员 - 启用UI自动化设置之前的行为方式,我记得iOS设备重启是必要的当这个启用时,我尝试重启iOS设备,Xcode再次开始表现,我可以在iOS设备上成功记录和运行测试.完全披露:在重新启动iOS设备之前,我还打开和关闭了启用UI自动化,但我怀疑这是必需的.-rrh
| 归档时间: |
|
| 查看次数: |
6846 次 |
| 最近记录: |