在阅读下面的文章 建立试验条件的数据库单元的测试设计师 在MSDN我决定要尝试创造一个定制的测试条件下我的数据库单元的测试

  • 我已经满足该要求的最终或溢价作为我的环境。
  • 创建了一个新的类lib项目,并引用 Microsoft.Data.Schema.UnitTestingMicrosoft.Data.Schema 以及 Microsoft.Data.Schema.Sql
  • 我创造了一类继承TestCondition并呼吁它ExpectedSqlException定义为如下

编辑:

     [DisplayName("Some test condition")] 
     [DatabaseSchemaProviderCompatibility(null)] 
     public class SomeTestCondition : TestCondition
     {
         public override void Assert(System.Data.Common.DbConnection validationConnection, Microsoft.Data.Schema.UnitTesting.ExecutionResult[] results)
         {
         ...
         }
    } 
  • 下面的 如何 然后我创造的extentions.xml 文件中,我后来放置在 %ProgramFiles%\Microsoft Visual Studio 10.0\VSTSDB\Extensions 它看起来像这样(类型key/value是我会的公共信息,这应该是不同于你的)

    <?xml version="1.0" encoding="utf-8"?>    
    <extensions assembly="" version="1" xmlns="urn:Microsoft.Data.Schema.Extensions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">    
        <extension type="SomeTestCondition.SomeTestCondition" assembly="SomeTestCondition, Version=1.0.0.0, Culture=neutral, PublicKeyToken=01a289ad96d7a8a8" enabled="true" />    
    </extensions>
    
  • 和注册的组成GAC后签署《大会

所以现在我的新TestCondition我应该能够利用它在数据库单元的测试设计师定义期望,但可惜的是它不工作:(

有人可以帮我这个?我是什么丢失?

有帮助吗?

解决方案

我可以看到一件事我没有不同当我这样做是不明确指出如何链接引用。

它刘海上关于把东西变成"程序的文件,"但也许这只适用于32位的机器。Visual Studio是32位的应用程序和64位机(这让我使用),我忽略的指令和复制的组件和xml文件%序(86)%不%序%--它似乎要为我工作。我从来没有尝试过%序%,在所有虽然-所以我不能验证这是一个问题。

是这样吗?

增编:

进一步看在你的代码,你必须添加[DatabaseSchemaProviderCompatibility(null)]属于你的TestCondition.这将加载延长时,你没有一个数据库模式的提供者装载在目前的项目,该项目将能的情况下,对试验项目。这一属性并不是非常直观的我想.

詹姆斯。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top