【发布时间】:2014-05-08 21:41:05
【问题描述】:
我正在尝试开发一个包含 Parse.com 的类库。
我创建了一个空的、干净的类库,然后使用 Nuget,添加了 Newtonsoft.Json、Parse 和 Parse.NetFx45
然后我添加了一个取自 Parse.com 网站的简单“Hello World”函数,并在类库中创建了一个函数。
这是我的功能:
public async static void testParse()
{
ParseClient.Initialize("MyApplicatonID", "My.NetKey");
var testObject = new ParseObject("TestObject");
testObject["foo"] = "bar";
await testObject.SaveAsync();
}
然后我添加了一个单元测试项目,引用了我的类库并编写了如下测试:
[TestMethod]
public void TestParse()
{
Experior.ParseFunctions.testParse();
}
当我运行测试时,它会在ParseClient.Initialize 行中引发以下错误:
System.TypeInitializationException 未处理 消息:未处理 'System.TypeInitializationException' 类型的异常发生在 mscorlib.dll 附加信息:类型初始值设定项 'Parse.ParseClient' 抛出异常。
我对我读到的一个线程进行了一些搜索,表明 Parse 不喜欢被包装在类库中......
所以,我想,我将在 Windows 窗体项目中测试相同的代码,并通过一个简单的按钮调用代码。
而且效果很好!
谁能看到我做错了什么或提出问题可能是什么?
任何提示/提示将不胜感激!
【问题讨论】:
-
代码的哪一行抛出异常?
-
@Tarec "当我运行测试时,它会在 ParseClient.Initialize 处引发以下错误"
-
删除异步并检查行为(如果存在,您需要调用
Save而不是SaveAsync,或者手动等待完成)。例如,nUnit 能够创建异步测试以正确执行异步方法,此外,无论如何您都需要等待testParse。或者将您的测试签名更改为public async void TestParse(),不要忘记等待。
标签: c# parse-platform class-library typeinitializeexception