由于一次测试,所有测试都没有运行

时间:2017-07-10 14:31:17

标签: c# entity-framework mstest vstest

我有大约1600次测试通过,并且我已经使用DeploymentItem和DataSource添加了一个测试来从准备好的XML中获取测试用例。单独测试工作,它甚至可以在整个测试类中工作,但是当我尝试运行所有测试时,所有测试都失败了。我们使用EF和VS测试。

在每次测试中都会出现同样的错误:

  

OTController_Test.TestInitialize返回异常。 System.InvalidOperationException:System.InvalidOperationException:实体框架提供程序类型' System.Data.Entity.SqlServer.SqlProviderServices,EntityFramework.SqlServer'在具有不变名称&System; System.SData.SqlClient&无法加载。确保使用了程序集限定名称,并且程序集可供正在运行的应用程序使用。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882

测试看起来像这样:

[DeploymentItem("C:\\Users\\mateusz.sobczyk\\Source\\Repos\\Aplixcom_InsertData\\Aplixcom_InsertData_Test\\XMLGenerator\\Tests\\test.xml")]
        [DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\test.xml", "XMLWrappedModel", DataAccessMethod.Sequential)]
        [TestMethod]
        public void testme()
        {
            string tmp = TestContext.DataRow["JsonModel"].ToString();
            string failinfo = TestContext.DataRow["FailInfo"].ToString();
            string TestCategory = TestContext.DataRow["TestCategory"].ToString();
            Group obj = System.Web.Helpers.Json.Decode<Group>(tmp);
            if (obj == null)
            {
                AssertAll.Execute(
                () => Assert.AreEqual(null, tmp),
                () => Assert.AreEqual("[ID:[FailedCreateFailInfo][Nazwa:[FailedCreateFailInfo]", failinfo),
                () => Assert.AreEqual("Testy Mocy", TestCategory)
                );
            }
            else
            {
                switch (obj.ID)
                {
                    case 2:
                        AssertAll.Execute(
                            () => Assert.AreEqual("a", obj.Nazwa),
                            () => Assert.AreEqual("[ID: 2][Nazwa: a]", failinfo),
                            () => Assert.AreEqual("Testy Mocy", TestCategory)
                            );
                        break;
                    case 3:
                        AssertAll.Execute(
                            () => Assert.AreEqual("b", obj.Nazwa),
                            () => Assert.AreEqual("[ID: 3][Nazwa: b]", failinfo),
                            () => Assert.AreEqual("Testy Mocy", TestCategory)
                            );

                        break;
                    case 4:
                        AssertAll.Execute(
                            () => Assert.AreEqual("b", obj.Nazwa),
                            () => Assert.AreEqual("[ID: 4][Nazwa: b]", failinfo),
                            () => Assert.AreEqual("Testy Mocy", TestCategory)
                            );
                        break;
                }
            }
        }

我的web.config

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
    </providers>
  </entityFramework>

我不知道如何解决这个问题。我试图刷新我的参考文献,但它没有帮助。我如何使它工作?因为从现在开始我想在测试中使用数据源,我希望你能帮助我:)。

0 个答案:

没有答案