【问题标题】:Bizzarre behaviour on Kiwi BDD MockKiwi BDD Mock 上的奇怪行为
【发布时间】:2023-03-05 00:14:01
【问题描述】:

我正在使用 Kiwi 测试一些类,我需要存根类方法只是为了返回一个假文件路径。 我知道我可以解决暴露一些路径属性或创建一个子类只是为了测试,但我更喜欢只保留一个类并存根一些方法。

这是测试:

it(@"return the full list of POS", ^(){
    NSString *sample_data_path = [[NSBundle bundleForClass:[self class]] pathForResource:@"sample_pos" ofType:@"plist"];
    Class p = [PointOfSale class];
    [p stub:@selector(sampleDataPath) andReturn:sample_data_path];
    NSArray *allPos = [p findAll];
    [[theValue([allPos count]) should] equal:theValue(100)];
});

我很困惑,因为这个测试通过和失败交替进行,一次成功,一次失败。 没有任何“before_each”或其他正在运行的测试...

有人有同样的问题吗?

【问题讨论】:

    标签: unit-testing mocking stub kiwi


    【解决方案1】:

    我找到了这个问题的原因。 原始和存根类中的方法sampleDataPath 返回一个文件路径,该路径应该位于不同的包(主包和测试包)中。 但是即使是“生产”文件也被复制到了测试包中,所以我们在同一个包中有两个同名的文件,因此测试结果是不可预测的;)

    所以....如果您有这样的问题,请仔细检查您的文件名!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 2020-12-26
      • 2013-04-20
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多