菜鸟教程小白 发表于 2022-12-12 09:56:23

ios - 单例不使用 XCTests - iOS


                                            <p><p>我正在为我的一种实用方法编写单元测试。此实用程序方法在内部根据单例对象上的属性集获取一些值。在我的单元测试中,在调用此实用程序方法之前,我正在设置 session 对象值并打印以确认它已设置:</p>

<pre><code>- (void)testMyMethod {
   .isTesting = true;
   NSLog(@&#34;isTesting = %d&#34;, .isTesting); // prints 1
   ;
}
</code></pre>

<p>但在我的 <code>myMethod</code> 内部,<code>isTesting</code> 从未通过 <code>true</code> 检查:</p>

<pre><code>- (void)myMethod {
   if (.isTesting == true) { // this condition is always failing
      ... do something ...
   }
}
</code></pre>

<p>我还在测试和实际方法中打印了单例对象,并验证两者都引用了相同的内存位置。</p>

<p>任何人都知道为什么会这样。任何方向/指针/指导都非常感谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>解决了这个问题-</p>

<p>观察到应用程序模块和测试模块是分开的模块,所以我从我的测试目标中删除了单例类 <code>MySession</code> 并简单地将项目导入到我的测试类中,它工作得很好。</p ></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 单例不使用 XCTests - iOS,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33938610/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33938610/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 单例不使用 XCTests - iOS