NUnit: Effort.Exceptions.EffortException: библиотеке Effort не удалось автоматически зарегистрировать своего поставщика, поэтому требуется ручная регистрация

Я работаю над Web API и во время модульного тестирования с использованием NUnit я столкнулся с этой ошибкой, которая говорит:

Tests.DemoTest.SessionLogOnBreakdownTest:
SetUp : Effort.Exceptions.EffortException : The Effort library failed to register its provider automatically, so manual registration is required.

a) Call the Effort.Provider.EffortProviderConfiguration.RegisterProvider() method at entry point of the application

or

b) Add the following configuration to the App.config file:
   <system.data>
      <DbProviderFactories>
         <add name="Effort.Provider"
              invariant="Effort.Provider"
              description="Effort.Provider"
              type="Effort.Provider.EffortProviderFactory, Effort" />
      </DbProviderFactories>
   </system.data>
  ----> System.Configuration.ConfigurationErrorsException : Failed to find or load the registered .Net Framework Data Provider.
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.

Вот тест, который я запускаю:

[TestFixture]
public class DemoTest : TestBase
{
    private TestContext _context;
    private DbConnection _dbConnection;

    [SetUp]
    public void Initialization()
    {
        //Effort.Provider.EffortProviderConfiguration.RegisterProvider();
        _dbConnection = Effort.DbConnectionFactory.CreateTransient();
        _context = new TestContext(_dbConnection);
    }

    [Test]
    public void SessionLogOnBreakdownTest()
    {
         //code which uses _context
    }
}

Ошибка брошена в _dbConnection = Effort.DbConnectionFactory.CreateTransient();

Я следовал обоим предложениям, которые дает исключение. Но никто не работал.

Вещи, которые я пробовал:

  • Эти два предложения в помощнике исключений
  • Обновление-Пакет -Переустановить усилие

0 ответов

Я также вижу, что это происходит в приложении.Net 4.6.1 с использованием EF6 (6.4.0-6.4.4) и Effort.EF6 2.2.10. Я пробовал несколько разных комбинаций версий, но видел, как это происходит случайным образом с помощью обозревателя тестов в VS и почти постоянно с помощью теста dotnet. Обратите внимание: я пробовал решения A, B и A и B, предложенные в сообщении об ошибке.

Другие вопросы по тегам