gpt4 book ai didi

objective-c - 为控制台应用程序设置非常基本的单元测试时出现 "Undefined symbols for architecture x86_64"

转载 作者:太空狗 更新时间:2023-10-30 03:21:46 25 4
gpt4 key购买 nike

我是 Objective-C 和 XCode 的新手,在讨论一般的编译语言时,我认为我的智力有问题。我不知道链接器是如何工作的,也不知道每个 IDE 中的build设置数量,使用起来很不舒服,这让我感到害怕。

几天前我开始学习 ObjC,当然我是从控制台应用程序项目开始的。到目前为止一切都很好,但我有 Ruby/Rails 背景,这让我想立即了解如何在 XCode5 中设置最基本的 TDD 环境。

我用了这个official dev doc但它不够彻底。采用试错法,我只是向项目添加了一个 XCTest 目标,然后添加了一个测试用例类,测试了我的 Fraction 类:

#import <XCTest/XCTest.h>
#import "Fraction.h"

@interface FractionTest : XCTestCase
@end

@implementation FractionTest

- (void)setUp
{
[super setUp];
}

- (void)tearDown
{
[super tearDown];
}

- (void)testExample
{
Fraction *fraction = [Fraction new];
}

@end

运行测试时,链接器找不到引用的符号:

enter image description here

我读过有关设置捆绑加载器和测试主机的内容,但没有人真正解释应该将它们设置在哪个目标上。它们对我不起作用,我想知道这样一个简单的 3 文件大型“项目”是否需要调整build设置。

我怎样才能简单地添加一个测试类,用简单的断言测试另一个类?

最佳答案

墨菲定律,当然,我在发布一个困扰我几个小时的问题后 3 分钟就找到了答案:

我要测试的类需要是测试目标的成员。检查分数类文件的适当“目标成员资格”后,错误消失了。

checking Target Membership for Fraction.m

关于objective-c - 为控制台应用程序设置非常基本的单元测试时出现 "Undefined symbols for architecture x86_64",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23205711/

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