gpt4 book ai didi

ios - 可以从 XCTest 中的其他测试用例中调用测试用例

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:06:25 25 4
gpt4 key购买 nike

我正在构建一组 XCTestCase 方法来围绕我的核心数据模型运行代码。我计划从其他测试方法中调用一些测试方法,这样我就可以看到不同的数据组合,同时将代码保持在最低限度。我无法想象为什么这行不通,但我想知道这个世界是怎么想的,这是否被认为是一种好的做法。

这是它的样子:

@interface sessionTests : XCTestCase
@property (strong) Model *model;
@end
- (void)setUp
{
[super setUp];
_model = [[Model alloc]init];
}

- (void) testValue1
{
_model.value = 1;
XCTAssertTrue(_model.value == 1, @"model.value is not 1");
}

- (void) testValue2
{
_model.value = 2;
XCTAssertTrue(_model.value == 2, @"model.value is not 2");
}

- (void) testStringHello
{
_model.str = @"Hello";
XCTAssertTrue([_model.str isEqualToString:@"Hello"], @"model.str is not Hello");
}

- (void) testHello1
{
[self testValue1];
[self testStringHello];
}

- (void) testHello2
{
[self testValue2];
[self testStringHello];
}

最佳答案

测试相互依赖不是好的做法。他们应该能够自行执行。

问题在于,如果测试相互依赖,则很难查明哪里出了问题。

因此,单元测试应该是自包含的,并且尽可能易于理解。事实上,我们经常放弃一些我们通常可能坚持的做法,例如代码重复,以实现这个独立的、易于理解的目标。看看这个DAMP vs DRY tests answer .

关于ios - 可以从 XCTest 中的其他测试用例中调用测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21948887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com