从MBUnit v2到v3以及ProviderFactory的迁移已消失 [英] Migration from MBUnit v2 to v3 and the ProviderFactory is gone

查看:123
本文介绍了从MBUnit v2到v3以及ProviderFactory的迁移已消失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在MBUnit v2中,我这样做:

In MBUnit v2 I did this:

public class ConnectionStringFactory
    {
        [Factory]
        public string ConnectionString
        {
            get
            {
                return ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString; 
            }
        }
    }

    [ProviderFactory(typeof(ConnectionStringFactory),typeof(string))]
    public class CustomerTests
    {
        public void GetCustomerTest(string connectionString)
        { 

        }

        public void GetCustomersTest(string connectionString)
        {

        }
    }

我必须创建一个Factory类,向我返回一个connectionString,并将其注入到单元测试类的每个测试方法中.

I had to create ONE Factory class returning me a connectionString which gets injected into each test method of a unit test class.

在ProviderFactory消失的情况下,如何使用MBUnit v3做到这一点?

How can this be done with MBUnit v3 where the ProviderFactory is gone?

我在Factory类上玩了很多,但结果却不是我想要的.

I played a lot with the Factory class, but the result is not what I want.

我想要所有测试类使用的连接字符串工厂,其中连接字符串

I want to a Connection string factory used by all test classes where the connection string

自动注入到每种测试方法中.

is injected into each test method automatically.

推荐答案

如何?

public static class ConnectionStringFactory
{
    public static IEnumerable<string> GetConnectionString()
    {
        yield return "connString";
    }
}

[Factory(typeof(ConnectionStringFactory), "GetConnectionString")]
public class CustomerTests
{
    [Test]
    public void GetCustomerTest(string connectionString)
    {
        Console.WriteLine(connectionString);
    }

    [Test]
    public void GetCustomersTest(string connectionString)
    {
        Console.WriteLine(connectionString);
    }
}

这篇关于从MBUnit v2到v3以及ProviderFactory的迁移已消失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆