.net - 在 C# 中测试静态类的扩展方法时,MSTest 抛出 ‘System.TypeInitializationException’

标签 .net visual-studio-2010 unit-testing mstest

我有一个名为 Helpers 的静态类,其中包含大量简单的辅助方法,包括“字符串”等的一些简单扩展方法:

public static string AddSquareBrackets(this string str)
{
     return "[" + str + "]";
}

我有一个测试类和方法如下:

[TestMethod()]
public void AddSquareBracketsTest()
{
     Assert.AreEqual("[NAME]", "NAME".AddSquareBrackets());
}

使用默认(无编码)构造函数声明的静态类:

namespace Equinoxe.Utilities.Helpers
{
    public static class HELPERS
    {

对 AddSquareBrackets 的调用会抛出以下错误:

System.TypeInitializationException was unhandled by user code
  Message=The type initializer for 'XXX.Utilities.Helpers.HELPERS' threw an exception.
  Source=XXX.Utilities
  TypeName=XXX.Utilities.Helpers.HELPERS
  StackTrace:
       at XXX.Utilities.Helpers.HELPERS.AddSquareBrackets(String str)
       at XXX.Utilities.Test.HELPERSTest.AddSquareBracketsTest() in C:\DEVELOPMENT\PROJECTS\XXX.NavEgate\XXX.Utilities.Test\HELPERSTest.cs:line 77
  InnerException: System.NullReferenceException
       Message=Object reference not set to an instance of an object.
       Source=XXX.Utilities
       StackTrace:
            at XXX.Utilities.Helpers.HELPERS..cctor() in C:\DEVELOPMENT\PROJECTS\XXX.Utilities\XXX.Utilities\Helpers\HELPERS.cs:line 44
       InnerException:{System.NullReferenceException: Object reference not set to an instance of an object.
   at XXX.Utilities.Helpers.HELPERS..cctor() in C:\DEVELOPMENT\PROJECTS\XXX.Utilities\XXX.Utilities\Helpers\HELPERS.cs:line 44}

我也看过

我正在运行 VS2010

最佳答案

添加断点:

C:\DEVELOPMENT\PROJECTS\XXX.Utilities\XXX.Utilities\Helpers\HELPERS.cs:第 44 行

在那一行,有些东西是 null,这不应该是。

关于.net - 在 C# 中测试静态类的扩展方法时,MSTest 抛出 ‘System.TypeInitializationException’,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330481/

相关文章:

.net - 嵌套 TransactionScope 和/或嵌套连接导致 MSDTC 升级

c# - ASP.NET/MVC + MvcMockHelpers + RhinoMocks,谁设置RouteData?

node.js - Jest 模拟 Knex 交易

c# - MySQL 主要基于 Web 吗?我想在部署 .NET 应用程序时复制

c# - 将 2 列存储到列表中

javascript - AngularJs 测试。放置模板的位置

.net - nodejs 中的示例 Model-View-Presenter 应用程序

c# - 如何使用父类的成员来满足 C# 中的接口(interface)?

.net - 使用 XmlSerializer 将空的 xml 属性值反序列化为可为空的 int 属性

visual-studio-2010 - 使 Visual Studio 2010 在代码编辑器中显示更多行