小编Jes*_*lap的帖子

当未被捕获的承诺拒绝发生时,如何在Jest中测试失败?

我正在努力将测试覆盖率添加到我正在使用Jest的Node项目中.我正在测试的代码是在promises中抛出错误,导致UnhandledPromiseRejectionWarning消息被记录到控制台.

在写测试,我可以很容易地找出这些问题并加以解决,但这些警告实际上并没有造成玩笑标记为未能通过测试,所以我们的CI将不能抓住它.我四处寻找任何建议,但没有找到太多建议.

我确实在Node的文档中发现你可以捕获这些警告并处理它们......

process.on('unhandledRejection', (error) => {
  throw error; // Or whatever you like...
});
Run Code Online (Sandbox Code Playgroud)

因此,将此代码添加到我的测试用例中似乎非常简单.毕竟,Error测试中的抛出应该导致测试失败......

describe('...', () => {
  it('...', () => {
    process.on('uncaughtRejection', (error) => {
      throw error;
    });

    // the rest of my test goes here
  });
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,我看到的行为是错误确实被抛出,但是Jest没有捕获它并且未通过测试.相反,Jest崩溃时出现此错误,测试不会继续运行.这不是真正可取的,似乎是不正确的行为.

uncaughtRejection处理程序之外抛出错误按预期工作:Jest记录抛出的错误并使测试失败,但不会崩溃.(即测试观察者一直在观看和运行测试)

javascript unit-testing node.js jestjs

11
推荐指数
2
解决办法
4689
查看次数

想要简单了解如何在Cocoa/Objective-C中连接到SQLite数据库

大家.我几个月来一直在Mac上尝试Cocoa和Objective-C编程,我想开始开发管理大量数据的应用程序.问题是,我不确定从哪里开始使用数据库.

我在SQLite的Java编程方面有很好的背景.我已经阅读了一些关于CoreData的内容,但我还没有找到任何好的资源来手动连接到数据库.我正在寻找建议.

我应该尝试使用CoreData吗?如果有的话,是否有人可以为该语言的新手推荐一个好的教程?或者,我应该尝试以某种方式手动连接和查询SQLite数据库?

database sqlite macos cocoa objective-c

6
推荐指数
1
解决办法
3638
查看次数

使用NSString writeToFile的麻烦

我一直在Cocoa/Objective-C中为一个练习项目编写一个简单的文本编辑器,我遇到了一个我从未预料到的错误.

我有一个NSString用于我的文件内容以及一个NSString用于它的路径.当我尝试将内容写入文件时,我使用以下方法:

[FileContents writeToFile: CurrentFileName 
               atomically: NO 
                 encoding: NSStringEncoding /* Error occurs on this line */
                    error: nil];
Run Code Online (Sandbox Code Playgroud)

我今天多次使用这种方法而没有错误,我收到一个错误:

'NSStringEncoding'之前的预期表达式

cocoa objective-c nsstring

4
推荐指数
1
解决办法
4869
查看次数