如何在DNN4下使用VS2005进行单元测试???

    看了Spirit(斯比瑞特)《在Dotnetnuke4.5中进行NUnit》后我在VS2005中对我以前做的一个部门管理的小模块进行了一下测试(模块数据很简单,主要由Id、部门名称、部门类型、上级部门等字段构成),我测试了一下Add这个功能,但是运行出错,提示: 测试方法 DataProviderTest.SqlDataProviderTest.AddDeptTest 引发异常:  System.TypeInitializationException: “gdlmo.DNN.Modules.Dept.Data.DataProvider”的类型初始值设定项引发异常。 --->  System.NullReferenceException: 未将对象引用设置到对象的实例。

我已将web.config的内容copy到app.config中,并在

1[ClassInitialize()]
2        public static void MyClassInitialize(TestContext testContext)
3        {
4            DotNetNuke.Common.Globals.HostMapPath = "D:\\web\\dnn4\\Website" ;//System.IO.Directory.GetCurrentDirectory() + @"";
5

6        }

测试代码如下

 1 [TestMethod()]
 2        public void AddDeptTest()
 3        {
 4            //SqlDataProvider target = new SqlDataProvider();
 5
 6            int ModuleId = 0// TODO: 初始化为适当的值
 7
 8            string Name = "交通部"// TODO: 初始化为适当的值
 9
10            int DeptType = 1// TODO: 初始化为适当的值
11
12            bool IsActive = true// TODO: 初始化为适当的值
13
14            int SuperiorDeptId = 0// TODO: 初始化为适当的值
15
16            int expected = 0;
17            int actual;
18
19            actual = DataProvider.Instance().AddDept(ModuleId, Name, DeptType, IsActive, SuperiorDeptId);
20
21            Assert.AreEqual(expected, actual, "gdlmo.DNN.Modules.Dept.Data.SqlDataProvider.AddDept 未返回所需的值。");
22            Assert.Inconclusive("验证此测试方法的正确性。");
23        }

24

 有那位达人能告诉我如何解决吗?

原文地址:https://www.cnblogs.com/GDLMO/p/1258538.html