首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AssemblyCleanup未触发

AssemblyCleanup未触发
EN

Stack Overflow用户
提问于 2011-03-03 02:07:43
回答 2查看 4.3K关注 0票数 8

我有一些方法用于初始化和清理我在测试中使用的数据库,但是我的带有AssemblyInitialize和AssemblyCleanup属性的方法没有触发。

有什么想法吗?

代码语言:javascript
复制
    [TestInitialize]
    public void Init()
    {
        LoadData();
    }

    [AssemblyInitialize]
    public void AssemblyInit()
    {

    }

    public void LoadData(string testDataFileName = "TestData.xml")
    {
        connectionString = ConfigurationManager.ConnectionStrings["NDbUnit"].ConnectionString;

        mySqlDatabase = new NDbUnit.Core.SqlClient.SqlDbUnitTest(connectionString);

        mySqlDatabase.ReadXmlSchema("DataSet.xsd");
        mySqlDatabase.ReadXml(testDataFileName);

        mySqlDatabase.PerformDbOperation(NDbUnit.Core.DbOperationFlag.CleanInsertIdentity);

        dataSet = mySqlDatabase.CopyDataSet();
    }

    [AssemblyCleanup]
    public void RemoveDatabases()
    {
        List<string> databasesToDelete = new List<string>();
        ServerConnection serverConnection = new ServerConnection(new SqlConnection(connectionString));
        Server server = new Server(serverConnection);
        foreach (Database db in server.Databases)
        {
            if (db.Name.ToLower().Contains(testDatabaseIdentifier))
            {
                databasesToDelete.Add(db.Name);
            }
        }
        databasesToDelete.ForEach(x =>
        {
            Database db = new Database(server, x);
            db.Refresh();
            db.Drop();
        });
    }

    [TestCleanup]
    public void CleanUpData()
    {
        mySqlDatabase.PerformDbOperation(NDbUnit.Core.DbOperationFlag.DeleteAll);
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-03 02:33:11

我想通了。前面发布的那些方法在一个基类中,其余的测试用例将从该基类继承,但基类没有被标记为TestClass。显然,如果没有它,您仍然可以运行TestInitialize和TestCleanup方法,但不能运行程序集的>.<

票数 14
EN

Stack Overflow用户

发布于 2013-06-04 22:47:46

AssemblyCleanup是

代码语言:javascript
复制
static public void AssemblyCleanup

确保它的类是公共的,并且具有TestClass属性

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5171531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档