小编Yag*_*Yag的帖子

从tfs build中排除测试

我想从我的持续集成构建中排除一些测试,但我还没有找到一种方法.

我尝试过的一件事是将这些测试的优先级设置为-2,然后在我指定的构建上指定最小测试优先级= -1,但它仍然运行那些测试.

任何帮助将不胜感激.

tfs unit-testing tfsbuild

7
推荐指数
1
解决办法
1万
查看次数

Unity,RegisterType <>和Singleton对象

我正在使用Unity来实例化一些对象,我发现无论我尝试什么,Unity都会为我的对象创建单例.

根据文档:http: //msdn.microsoft.com/en-us/library/dd203242.aspx#Y500

使用以下代码,我应该在每次接口解析时获得不同的实例.

IUnityContainer myContainer = new UnityContainer();  

// Register a default (un-named) type mapping with a transient lifetime  
myContainer.RegisterType<IMyObject, MyRealObject>();  
// Following code will return a new instance of MyRealObject  
myContainer.Resolve<IMyObject>();  
Run Code Online (Sandbox Code Playgroud)

但相反,我得到一个单例实例.

以下是我的声明.Global.asax中

// This should get me a singleton  
container.RegisterType<IRetailerService, RetailerService>(new ContainerControlledLifetimeManager(), new InjectionConstructor());  
// This is the one giving me trouble.
container.RegisterType<IInStoreRetailersViewModelBuilder, InStoreRetailersViewModelBuilder>(new InjectionConstructor(container.Resolve<IRetailerService>()));  
container.RegisterType<CollectController>(new InjectionConstructor(container.Resolve<IInStoreRetailersViewModelBuilder>()));  
Run Code Online (Sandbox Code Playgroud)

调节器

private readonly IInStoreRetailersViewModelBuilder _inStoreRetailersViewModelBuilder;  

public CollectController(IInStoreRetailersViewModelBuilder inStoreRetailersViewModelBuilder)  
{  
    this._inStoreRetailersViewModelBuilder = inStoreRetailersViewModelBuilder;  
}  

public ActionResult Index()  
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# singleton dependency-injection unity-container

6
推荐指数
1
解决办法
2万
查看次数

定义的客户端缓存似乎被忽略了

我不确定我做错了什么,但尽管我尝试了一切,我似乎无法让客户端缓存我的静态资源.

在我的web.config中,我添加了以下条目:

  <staticContent>
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
  </staticContent>
Run Code Online (Sandbox Code Playgroud)

根据文档,这应该向客户端浏览器发送响应标头,让它知道我们希望将静态内容缓存30天.

如果我使用fiddler查看客户端正在接收的内容,看起来我的web.config添加将被完全忽略.

以下是小提琴手的报道:

Cache-Control: no-cache
Date: Mon, 05 Dec 2011 14:09:44 GMT
Expires: -1
Pragma: no-cache
Vary: Accept-Encoding
Run Code Online (Sandbox Code Playgroud)

我在IIS中没有任何标题覆盖这个,所以我不确定我错过了什么.任何帮助将不胜感激.

model-view-controller asp.net-mvc asp.net-mvc-3

6
推荐指数
1
解决办法
4826
查看次数

单元测试与Moq的Builder模式

我正在使用构建器模式为控制器生成视图模型,当我尝试对控制器进行单元测试时,我发现自己无法这样做.Moq抱怨道.

不确定这是Moq限制还是我自己的限制和无知.

这就是我的控制器的样子:

public class OutletController : Controller
{
    private readonly IOutletViewModelBuilder _builder;

    public OutletController(IOutletViewModelBuilder builder)
    {
        this._builder = builder;
    }


    public ActionResult Edit(int id)
    {
        OutletViewModel viewModel = this._builder.WithOutlet(id).WithCountryList().Build();

        return View(viewModel);
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图模拟IOutletViewModelBuilder对象,但这是我得到的:

[Test]
public void DummyTest()
{
    Mock<IOutletViewModelBuilder> mockBuilder = new Mock<IOutletViewModelBuilder>();
    // (1) // mockBuilder.Setup(m => m.WithOutlet(It.IsAny<int>())).Returns(mockBuilder.Object);
    // (2) //mockBuilder.Setup(m => m.WithOutlet(It.IsAny<int>())).Returns(mockBuilder);

    // (3) // mockBuilder.Setup(m => m.WithOutlet(It.IsAny<int>()).WithCountryList().Build()).Returns(new OutletViewModel());

    OutletController controller = new OutletController(mockBuilder.Object);
    ActionResult result = controller.Edit(1);

    Assert.IsTrue(true);
}
Run Code Online (Sandbox Code Playgroud)

(1)给我以下错误突出显示(mockBuilder.Object)

无法解析方法'返回(ViewModelBuilders.Builders.IOutletViewModelBuilder)',候选人是:

Moq.Language.Flow.IReturnsResult<ViewModelBuilders.Builders.IOutletViewModelBuilder> …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc unit-testing moq builder-pattern

2
推荐指数
1
解决办法
3017
查看次数