看了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

2

3



4

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

2

3



4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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