NUnit Error: The Type Initializer for … Threw an Exception (And app.config)

来源:互联网 发布:bh椭圆机 知乎 编辑:程序博客网 时间:2024/04/29 06:23

My Visual Studio solution contains 5 projects, one of them is for unit testing purpose.

The unit testing project is referencing to Entity Framework library where I query data from database. Well, since the Entity Framework is depending on app.config for the connection string, my NUnit returns error when I run it. This is because NUnit can’t find the connection string in app.config file. The error is:

System.TypeInitializationException: The type initializer for ‘…’ threw an exception.
System.ArgumentException: The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.

Here’s the screenshot (some information is blacked out on purpose). I use NUnit 2.5.9 for unit testing.

 

 

 

Two workarounds for this problem are stated below. You don’t have to apply both workarounds, just either one of them. In my case, the first one works like charm.

  1. Copy app.config file, paste it in the same folder as your .nunit file and rename it to the same as your NUnit project filename.
    Example: NUnit project file is “C:/Users/Documents/Nunit/ProjectTest.nunit”. My app.config will have to be “C:/Users/Documents/Nunit/ProjectTest.config”
  2. Copy app.config file, paste it in the same folder as your library (.dll) file and rename it to the same as your library (.dll) filename.
    Example: Library project file is “C:/Users/Documents/ProjectSolution/ProjectTest/bin/Debug/ProjectTest.dll”. My app.config will have to be “C:/Users/Documents/ProjectSolution/ProjectTest/bin/Debug/ProjectTest.dll.config” (if doesn’t work, try rename it to ”C:/Users/Documents/ProjectSolution/ProjectTest/bin/Debug/ProjectTest.config”)

原创粉丝点击