如何测试一个。实际修改数据库而不实际更改数据或数据库状态的函数。我们如何使用dbunit实现它?
我有一个模型功能
const newValue = await app.models.module.functionname({
id: '005q21', typoe: 'XXX', isActive: false
});
实际上在db中写入一行并返回newValue类型是一个对象。如何编写实际在生产中运行的单元测试,并在不更改实时数据的情况下验证针对数据库的功能。 (使用dbunit)
我正在使用mocha编写node.js / sql应用程序的测试
答案 0 :(得分:0)
我如何编写一个实际上在生产和运行中运行的单元测试 根据数据库验证函数
这是dbUnit的标准功能,所以从PrepAndExpectedTestCase之类的* TestCase方法开始。
让dbUnit比较预期的数据,它会为你检查数据库,非破坏性正常。
不改变实时数据
在配置的数据库测试器上,将其配置为不更新表:
一个。将SetUpOperation设置为DatabaseOperation.NONE
湾将TearDownOperation设置为DatabaseOperation.NONE
请注意,将TearDownOperation设置为DatabaseOperation.NONE时,测试创建的行将保留在数据库中。这可能是您想要的,但通常希望dbUnit在完成时清理已创建的行(所有行或特定行;请参阅DatabaseOperation选项)。