问题标签 [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 投票
2 回答
781 浏览

unit-testing - 在使用 NDbUnit 初始化的单个测试中读取/加载多个 XML

我正在尝试使用 NDbUnit。我为每个表创建了单独的 XSD,而不是为完整的数据库创建了一个大型 XSD。

当我只使用单个 XSD 和单个 xml 读取时,我的测试运行良好。但是,对于特定测试,我需要在两个或三个不同(但相关)表中保存数据。如果我尝试读取多个 xsd 和 xml,则会引发异常。

这是我的代码

这是我在尝试读取 License.XSD 时遇到的异常,如上所示

类初始化方法 ESMS.UnitTest.CompanyManagerTest.MyClassInitialize 抛出异常。System.ArgumentException:System.ArgumentException:已添加项目。字典中的键:“EnableTableAdapterManager” 正在添加的键:“EnableTableAdapterManager”。

我不确定这是否是使用 NDbUnit 读取多个 XML、XSD 的正确方法。我用谷歌搜索并溢出(即搜索堆栈溢出),但找不到任何明智的方向。有人可以解释出了什么问题以及如何纠正吗?

0 投票
1 回答
544 浏览

c# - 是否可以将 NDbUnit 测试数据保存在单独的 XML 文件中?

我正在考虑使用 NDbUnit 来帮助对应用程序进行单元测试。正如问题标题所述,我想知道是否可以将 NDbUnit 测试数据保存在单独的 XML 文件中。我已经注意到我的单个测试数据 XML 文件非常大,当我向其中添加更多实体时可能会开始变得难以管理。

现在,在阅读了这个问题之后,它看起来好像是不可能的,但我想确定一下。

如果有帮助,这是说明问题的示例代码。这个想法是程序与供应商相关联。我设置了包含 3 个供应商的测试数据,其中第二个有 3 个程序。TestData.xml 包含所有供应商和程序的所有测试数据。当我使用它时,单元测试按预期通过。如果我尝试使用多次调用分别读取单个 XML 文件,db.PerformDbOperation(DbOperationFlag.CleanInsertIdentity);似乎第二次调用会覆盖第一次调用中所做的任何事情。

这确实有效:

0 投票
2 回答
442 浏览

.net - NUnit 测试显示一个表单并从 TestClass 中的数据集填充其文本框

我是 NUnit 的新手,我已经在 vb.net 的测试类中编写了我的和,它的工作原理如下:

执行存储过程,并借助数据集将结果保存在 xml 文件中。我现在需要做的是,这个数据集的信息也应该重定向到表单中的文本框,以便我可以在剪贴板中复制这些信息并创建动态断言语句,例如我想要 datatable.rows.count、datatable.columns。计数、datatable.columns(i).ColumnName,与获取 columnType 相同。所有这些信息都将显示在表单中,但我无法在 NUnit 测试类中打开表单。请尽可能尽快回复。

0 投票
1 回答
337 浏览

sql-server - 当列是 Identity 列时,NDbUnit 不设置 XML 中指定的主键字段

我正在使用 NDbUnit 对我的数据访问层进行单元测试。

在构建 XSD 和关联的 XML 文件时,一切工作正常,这些文件用于用数据行填充各种表。但是,我刚刚注意到,当整数 PK 列是标识列时,我无法直接通过 XML 为整数 PK 列设置 PK。

即当数据库在行插入时自动处理递增和设置PK时,NDbUnit无法覆盖它并自行设置(据我所知)。

NDbUnit 是否有某种方法可以覆盖此标识列值并直接从 XML 设置它,还是我坚持使用 SQL Server 为插入的行创建的自动递增值?还是我应该使用另一种模式来插入带有标识列的行,然后将该值用作另一个表行上的 FK?


更新:

我发现当您执行 NDbUnit 数据库操作时,您需要将参数设置为 InsertIdentity 而不仅仅是 Insert:

但是,即使在我进行了此更改之后,我现在在插入行时也会收到以下错误:

当 IDENTITY_INSERT 设置为 OFF 时,无法在表“myTable”中插入标识列的显式值。

这会让我相信,在 NBDUnit 方法上设置的 InsertIdentity 标志实际上并未将 SQL Server 中特定表的 IDENTITY_INSERT 设置为 OFF。

关于为什么不会发生这种情况的任何建议?

0 投票
1 回答
401 浏览

c# - 在 ndbunit 中使用除 dbo 之外的其他模式

我有一个 Ndbunit 测试项目,它适用于 dbo 的表。当我在其他架构中使用表时(例如 schema.tableName),我得到一个错误。错误是:

0 投票
1 回答
517 浏览

c# - NDBUNIT 教程中的存储库类

我正在尝试从ndbunit教程中学习数据库单元测试。一切顺利。除了我不明白作者是如何创建CustomerRepository类的。是否有一个工具可以指向教程中的 xsd 文件并自动生成存储库类?即使我手动生成它,我将如何去做。

请帮忙。

谢谢

更新

我只是使用快速实体框架代码来进行快速数据访问,如下所示,效果很好..谢谢

0 投票
1 回答
83 浏览

.net - NDUnit - 根据非主键字段值删除行

NDbunit 使用主键来确定需要删除哪些数据,使用
Db.PerformDbOperation(DbOperationFlag.Delete)

有没有办法根据非主键字段的一个字段值删除行(例如删除 created_date = xyz 的行)

0 投票
1 回答
5015 浏览

visual-studio-2012 - 如何添加对依赖项的正确引用,以便它在每个人的机器(包括构建服务器)上工作?

我正在尝试使用Jenkins中的NDbUnit设置我的 MVC4 应用程序的自动测试。在我的本地计算机上NDbUnit.coreNDbUnit.SqlClient我通过单击“引用”文件夹,然后单击“添加引用”,然后从磁盘添加它们,在解决方案资源管理器中添加了这些引用。他们的工作就像一个魅力。

但是,当我将解决方案提交到触发 Jenkins 构建服务器上的自动构建的存储库时,构建失败。两个文件的错误消息如下所示:

当我重新结帐并尝试在我自己的机器上构建解决方案时,我收到相同的消息,即无法解析引用。然而,这两个文件位于 References 文件夹中,它们只是不起作用(与其他文件不同,它们旁边有一个感叹号符号)。只有当我从我自己的机器上引用它们时,它们才能再次工作。

这种疯狂让我在持续集成游戏中损失了很多积分。我希望有人可以向我解释如何正确引用.dll's,以便它们在任何地方都可以工作。

0 投票
1 回答
2476 浏览

c# - 在 C# 中导入 XML 文件并将数据插入 SQLite 数据库

我通过在 c#.net 中导出我的 SQLite 数据库生成了一个 XML 文件。我生成的 XML 就像-

我正在尝试导入此 XML 文件并将所有数据重新插入一个空的 SQLite 数据库。我需要在插入 SQLite 数据库之前验证内容。我从现有的 XML 文件创建了一个 XSD 文件。我在这里使用了 NDbUnit 库。我将数据从 XML 导入 SQLite 数据库的代码如下 -

我使用了从 XML 文件生成的 XSD 文件,但似乎我必须从我的 sqlite 数据库创建 XSD。问题是 sqlite manager 不支持将数据库导出到 XSD 文件。此外,我找不到任何使用 NDbUnit 创建 XSD 的明确文档。有人可以帮忙吗?

0 投票
1 回答
1164 浏览

c# - 在 c#.net 中将平面 XML 数据导入 SQLite 数据库

我通过在 c#.net 中导出我的 SQLite 数据库生成了一个 XML 文件。我生成的 XML 就像 -

然后我将此文件转换为平面 XML 数据,例如 -

我已将此 XML 文件导入 SQLite 数据库。我使用以下代码导入 -

现在,问题是它适用于普通 XML 文件,我无法导入从普通 XML 转换的平面 XML 文件。谁能帮我修改它,以便我也可以从平面 XML 导入数据?