我想创建 SQL Server 数据库的快照,然后在“所有装置”运行后恢复它。
我可以在每个固定装置之后通过固定装置中的 .after 挂钩来完成此操作。但是,这会在运行测试时引起问题,因为数据库在恢复后可能仍在转换中。所以我宁愿在所有赛程结束后再做。
我现在已经找到了解决方法。解决方法是:
- 添加 ts-node 的依赖项。我还必须添加 tsconfig.json,并将编译器选项的 lib 属性设置为 es2015 和 dom。如果没有,那就是在抱怨 Promise。
- 我创建了一个名为 create-snapshot 的文件并在其中创建了快照。
- 我创建了另一个名为“restore-snapshot”的文件,并恢复了该文件中的快照。
- 我在 package.json 脚本中添加了两个条目,例如
"create-ss": "ts-node ./create-snapshot.ts"
, "restore-ss": "ts-node ./restore-snapshot.ts"
- 现在,我从 Powershell 中使用以下命令运行测试:
npm run create-ss;npm run test-chrome-hl;npm run restore-ss
。这将在 Powershell 中按顺序运行命令。在其他终端中,您可能需要使用 && 或其他内容来代替 ;。
我可以通过使用固定装置的 .before 钩子来避免“npm run create-ss”,通过跟踪变量以确保它只运行一次。但是,当执行最后一个测试时,我无法执行类似的方法。
记住这三个命令有点痛苦,但到目前为止我没有看到其他方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)