在单元测试

时间:2017-03-09 08:17:53

标签: c# oracle unit-testing mstest

运行此单元测试时:

using Oracle.ManagedDataAccess.Client;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace UnitTest1 {
    [TestClass]
    public class UnitTest1 {
        [TestMethod]
        public void TestMethod1() {
            string conString = "...";

            var Connection = new OracleConnection(conString);
            Connection.Open();
            Connection.Close();
        }
    }
}

我在输出窗口中收到以下消息:

  

System.AppDomainUnloadedException:尝试访问已卸载的   AppDomain中。如果测试开始一个线程但没有开始,则会发生这种情况   停下来。确保测试启动的所有线程都是   在完成之前停止。

如果我调试测试,我会在输出窗口中看到以下内容(我的操作系统语言是德语):

  

System.Transactions Critical:0:http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled Unbehandelte   Ausnahmevstest.executionengine.x86.exeSystem.AppDomainUnloadedException,   mscorlib,版本= 4.0.0.0,文化=中性,   PublicKeyToken = b77a5c561934e089Es wurde   versucht,auf eine entladeneAnwendungsdomäne   zuzugreifen。   System.AppDomainUnloadedException:Es   wurde versucht,auf eineentladeneAnwendungsdomäne   zuzugreifen。

似乎错误发生在测试中的ClassCleanup之后。

据我所知,在测试结束时,尝试访问“卸载的东西”。这应该以某种方式与Oracle连接。

OracleConnection本身不实现IDisposable。应该不需要使用using构造或调用它的Dispose()方法(我试过以防万一)。

此刻我有点无能为力,我可以使用一些提示。谢谢!

0 个答案:

没有答案