问题标签 [ndbunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
234 浏览

c# - System.Data.DataSet 未完全读取 XML 文件

我正在使用 NDbunit 对我的方法和数据库的功能进行单元测试。为使 NDbunit 工作,它首先加载一个 xml 模式文件 (.xsd),然后读入该 xml 文件以及将填充到数据库中的所有数据。这是我的 xml 架构文件 MessageDS.xsd:

这是我的 xml 数据文件 Message.xml:

最初我只是使用 NDbunit 的 dll 引用,但最终我下载了源代码并开始调试问题。我注意到,在 xml 文件中读取 xml 模式文件后,没有正确地将其加载到数据集(System.Data.DataSet)中。唯一写入的xml是:

由于某种原因,我的 MESSAGE 对象没有被读入 xml 文件。我不确定这是不是因为我的 xml 文件没有根据 xml 模式文件正确创建,还是其他原因。我尝试按照 NDbunit 的https://code.google.com/p/ndbunit/wiki/QuickStartGuide上的示例,我还查看了 NDbunit 测试文件中的 xml 文件。

0 投票
0 回答
54 浏览

c# - 在 ndbunit 中支持 VIEW 和 TABLE

由于我使用的 SQL 数据库的设计,操作必须发生在视图而不是表上(本质上,有触发器来停止表上的插入/更新/删除)。出于这个原因,我对视图使用 ndbunit。

这适用于 ReadXmlSchema 和 GetDataSetFromDb,但是

失败并出现错误:

无法更改“MySchema.vw_someView_myView_Maint”,因为它不是表。

我的搜索发现这可以通过覆盖tableType属性在 JAVA dbunit中被覆盖。nDbunit 中是否提供此功能?

0 投票
1 回答
140 浏览

repository - 在集成测试中设置测试数据的最佳策略是什么?

我正在尝试为我的存储库实施集成测试,但在每次集成测试之前选择正确的插入测试数据的策略时遇到了困难。

这就是我的存储库测试类的样子;

正如您在 OneTimeSetup() 方法中看到的那样,在测试类中完成每个集成测试方法之后,我正在插入测试数据并在 OneTimeTearDown() 方法上删除。对于测试数据创建,我使用了 NDbUnit 库。

这是我的 RealtyTestEnvironment 类实现;

所以我选择了 NDbUnit,但我感觉不舒服,因为项目的最后提交日期是 3 年前,并且需要花费太多精力来准备测试环境。

有些人使用 Repository 类本身来插入测试数据,所以现在我们使用 Repository 类来插入测试数据来测试那个 Repository 类?这对我来说没有意义。

- 你的方法是什么,你如何插入测试数据来测试你的存储库?

-我的实施怎么样,我应该继续使用 Ndbunit 吗?