相关疑难解决方法(0)

单元测试项目可以加载目标应用程序的app.config文件吗?

我正在测试使用app.config文件加载配置属性的.NET应用程序(.exe).单元测试应用程序本身没有app.config文件.

当我尝试对使用任何配置属性的方法进行单元测试时,它们返回null.我假设这是因为单元测试应用程序不会加载到目标应用程序的app.config中.

有没有办法覆盖这个或我是否必须编写脚本将目标app.config的内容复制到本地app.config?

这篇帖子有点问这个问题,但作者真的从一个不同的角度来看待它.

编辑:我应该提一下,我正在使用VS08 Team System进行单元测试.

.net c# unit-testing app-config

144
推荐指数
6
解决办法
12万
查看次数

注入应用程序配置的最佳方式

好吧,我正在进入这个梦幻般的网站,并提出了将配置设置注入应用程序组件的正确方法的问题.因此,概述是:我有一个用C#.Net 3.5编写的应用程序.它由3个程序集组成 - 核心,数据和服务.数据和服务程序集需要从app.config检索的设置,这可以通过设置文件完成,例如.

代码:

public static String RequestQueueConnectionString
{
    get { return ConnectionSettings.Default.RequestQueueConnectionString; }
}
Run Code Online (Sandbox Code Playgroud)

配置:

<applicationSettings>
  <MyNamespace.Data.ConnectionSettings>
    <setting name="RequestQueueConnectionString" serializeAs="String">
    ...
Run Code Online (Sandbox Code Playgroud)

现在,程序集都是使用StructureMap for IoC进行设置的 - 我认为应该提供我正在寻找的答案,但我只是看不到它!

IoC:

public static void ConfigureStructureMap(IContainer container)
{
    container.Configure(x => ...
    ...
Run Code Online (Sandbox Code Playgroud)

我希望能够做的是注入一个已经填充到IoC容器中的配置类,以便这些设置用于该程序集,而不是设置文件/ app.config中指定的那些设置.所以也许:

public static void ConfigureStructureMap(IContainer container, MyConfigClass config)
{
    container.Configure(x => x.For<DataConfig>()
                              .Singleton()
                              .Use ???
    ...
Run Code Online (Sandbox Code Playgroud)

我希望我在这里提供了足够的细节 - 如果我没有,请原谅一个新手,请让我知道还有什么有助于回答这个问题!

c# configuration inversion-of-control

10
推荐指数
1
解决办法
4666
查看次数

C#原始类型或复杂类型作为方法签名?

使用Primitve类型或复杂类型有哪些优缺点?

什么时候应该使用复杂类型的原始类型,反之亦然?

即:

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
    public int IQ { get; set; }
}


public void FooPrimitiveTypes (string firstName, string lastName, int age, int IQ)
{

}

public void FooComplexTypes(Person person)
{

}
Run Code Online (Sandbox Code Playgroud)

c# primitive-types complextype

3
推荐指数
1
解决办法
1502
查看次数