Nunit 中使用 XtUnit 进行 DataRollBack
今天,我在单元测试框架的一部分中运行 XtUnit,以回滚在运行测试用例时创建的数据库更改。 这是我如何使用它的框架。 测试用例成功运行,但数据库状态因此发生变化。
using NUnit.Framework;
using TeamAgile.ApplicationBlocks.Interception;
using TeamAgile.ApplicationBlocks.Interception.UnitTestExtensions;
namespace NameSpace.UnitTest
{
[TestFixture]
public class Test : InterceptableObject
{
[Test]
[DataRollBack]
public void CreateTest()
{
我将 Nhibernate 与 Mysql 一起使用。 我错过了什么吗?
Today I ran XtUnit at a part of my unit testing framework to to rollback database changes created while running a test case. This is a skeleton of how I have used it. The Test case ran successfully but the database state changed as a result.
using NUnit.Framework;
using TeamAgile.ApplicationBlocks.Interception;
using TeamAgile.ApplicationBlocks.Interception.UnitTestExtensions;
namespace NameSpace.UnitTest
{
[TestFixture]
public class Test : InterceptableObject
{
[Test]
[DataRollBack]
public void CreateTest()
{
I use Nhibernate with Mysql. Am I missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您的测试装置需要扩展
ExtensibleFixture
,而不是InterceptableObject
。 在 XtUnit 源代码中,ExtensibleFixture 本身继承自 InterceptableObject。 ExtensibleFixture.cs 中的注释指出:I think your test fixture needs to extend
ExtensibleFixture
, notInterceptableObject
. In the XtUnit source,ExtensibleFixture
itself inherits fromInterceptableObject
. The comments in ExtensibleFixture.cs state:数据库和程序必须在 WindowsXP SP2 或 Server 2003 下运行。
Database and your program must be run under WindowsXP SP2 oder Server 2003.