我有一个 ExpressJs 应用程序,单元测试是使用 Jasmine 完成的。目前我也使用真实的数据库来运行单元测试。但我想在不使用真实数据库的情况下进行单元测试。当我寻找解决方案时,我遇到了“内存数据库”的概念。我阅读了mysql 文档。它说我们可以通过将引擎指定为 Memory 在内存中创建一个表
CREATE TABLE t (i INT) ENGINE = MEMORY;
Run Code Online (Sandbox Code Playgroud)
我是否有可能创建内存数据库并运行所有单元测试,从创建内存数据库开始,创建所有表并使用备份的 .sql 文件在运行时将数据插入该数据库?
我在Angular 6中遇到以下错误。我正在显示从数据库返回的json数据。当我在.ts文件中执行console.log时,它显示了整个数组和数据。即使这样会给出错误消息,指出firstName未定义,它会在相关位置显示正确的firstName。即使我使用*ngIf="user.firstName"该错误仍然相同。如果我在之前在数组中放置了另一个属性,user.firstName则会将错误赋予该属性并显示正确的输出。
例如:
{{user.firstName}}
Run Code Online (Sandbox Code Playgroud)
错误TypeError:无法读取Object.eval中未定义的属性“ firstName ”(作为updateDirectives)
{{user.lastName}}
{{user.firstName}}
Run Code Online (Sandbox Code Playgroud)
错误TypeError:无法读取Object.eval上未定义的属性' lastName '[作为updateDirectives]该错误将仅在此处显示lastName。
我可以知道原因吗?
angular6 ×1
express ×1
html ×1
jasmine ×1
json ×1
mysql ×1
node.js ×1
typescript ×1
unit-testing ×1