小编Sri*_*lan的帖子

Nunit异步测试异常断言

我有一个控制器UserController有这个动作

// GET /blah
public Task<User> Get(string domainUserName)
{
        if (string.IsNullOrEmpty(domainUserName))
        {
            throw new ArgumentException("No username specified.");
        }

        return Task.Factory.StartNew(
            () =>
                {
                    var user = userRepository.GetByUserName(domainUserName);
                    if (user != null)
                    {
                        return user;
                    }

                    throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, string.Format("{0} - username does not exist", domainUserName)));
                });
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试为我抛出404异常的情况编写一个测试.

这是我尝试过的输出 -

1)

[Test]
public void someTest()
{
        var mockUserRepository = new Mock<IUserRepository>();
        mockUserRepository.Setup(x => x.GetByUserName(It.IsAny<string>())).Returns(default(User));
    var userController = new UserController(mockUserRepository.Object) { Request = new HttpRequestMessage() };

    Assert.That(async () => …
Run Code Online (Sandbox Code Playgroud)

c# nunit async-await

37
推荐指数
4
解决办法
2万
查看次数

ASP.NET的Session.Remove(key)'v/s'Session(key)= nothing'

我看到开发人员在完成会话对象时会使用两种方法.

1)Session.Remove(key)

2)会话(关键)=没有

上面两个更好的方法是什么?Session.Remove会自动处理存储的对象吗?

第二种方法是否依赖于垃圾收集器来实际释放内存?

编辑:谢谢你的回复,伙计们.看起来像Session.Remove是正确的方法.但是,如果Session.Remove不保证对象的处理,那么当我们不需要它时,处理会话中存储的对象的最佳方法是什么?

谢谢.

asp.net session

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

功能测试的覆盖率分析

在我正在进行的项目中,我们通过Selenium编写了功能测试.每个功能发布都会对应用程序进行功能更改.

是否有工具/机制可以跟踪自动功能测试中的差距,以便至少手动测试人员能够密切关注这些区域?

注意:我们没有进行FTDD,因此即使我们确保高单元测试覆盖率,功能测试覆盖率也可能很差.我们使用NCover来检查单元测试覆盖率.

testing selenium code-coverage

15
推荐指数
1
解决办法
8542
查看次数

PowerShell命令历史记录

我可以互换使用Bash和PowerShell,当我无法在PowerShell控制台上执行Ctrl+ 时,发现它非常烦人R.

是否有插件/备用命令可以帮助我无缝切换Bash和PowerShell?

更新(2018年)

PowerShell现在支持Ctrl+ R.请看这个答案.

powershell

10
推荐指数
3
解决办法
5145
查看次数

golang exec.Command读取std输入

我有一个应该调用ruby脚本的go程序.

我有一个runCommand功能:

func runCommand(cmdName string, arg ...string) {
    cmd := exec.Command(cmdName, arg...)
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr
    cmd.Stdin = os.Stdin
    err = cmd.Run()
    if err != nil {
        fmt.Printf("Failed to start Ruby. %s\n", err.Error())
        os.Exit(1)
    }
}
Run Code Online (Sandbox Code Playgroud)

我像这样调用它:

runCommand("ruby", "-e", "require 'foo'")
Run Code Online (Sandbox Code Playgroud)

它适用于大多数情况,除非gets子进程中有一个或任何类似的操作需要暂停输入.

我试过设置cmd.Stdin = os.Stdin,但它不等待输入.

我究竟做错了什么?

go

8
推荐指数
2
解决办法
3815
查看次数

Thor - 最后注入文件

我正在研究一个rails引擎,我正在尝试编写一个可以放置这一行的生成器

do_stuff (foo)
Run Code Online (Sandbox Code Playgroud)

作为最后一个语句config/routes.rb,不破坏文件语法.

具体来说,如果我现在config/routes.rb看起来像这样

Rails.application.routes.draw do
    blah
    more blah
end
Run Code Online (Sandbox Code Playgroud)

运行发电机后,我希望config/routes.rb看起来像这样

Rails.application.routes.draw do
    blah
    more blah
    do_stuff (foo) # injected line
end
Run Code Online (Sandbox Code Playgroud)

我查看了ActiveAdmin的功能,但无法创建一条毯子最后一行规则.任何帮助是极大的赞赏.

ruby thor ruby-on-rails-4

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

限制违反架构 - asp.net MVP

如果我们在应用程序中有定义的层次结构.对于前三层架构,我们如何限制后续开发人员违反规范?

例如,对于MVP(不是asp.net MVC)架构,演示者应始终绑定模型和视图.这有助于编写适当的单元测试程序.但是,我们遇到的情况是人们直接在视图中导入模型并调用违反规范的函数,因此无法正确编写测试用例.

有没有办法可以限制哪些类可以从一组类继承?我正在研究各种可能性,包括采用不同的设计模式,但是新方法应该值得所涉及的代码更改.

asp.net mvp

5
推荐指数
1
解决办法
210
查看次数

Fsharp - 范围评估

有没有办法可以按降序获得范围?

防爆

[1..4]
Run Code Online (Sandbox Code Playgroud)

评估为

> val it : int list = [1; 2; 3; 4]
Run Code Online (Sandbox Code Playgroud)

[4..1]
Run Code Online (Sandbox Code Playgroud)

评估为

> val it : int list = []
Run Code Online (Sandbox Code Playgroud)

是否有不同的语法来实现这一点而不必做List.Reverse

syntax f#

5
推荐指数
1
解决办法
733
查看次数

使用类的谓词搜索通用列表 - 比循环更快?

假设我们有一个Class1的通用列表,通常有给定会话的约100个对象.我想看看列表是否有特定的对象.ASP.NET 2.0允许我这样做:

Dim objResult as Class1 = objList.Find(objSearch)
Run Code Online (Sandbox Code Playgroud)

与传统的For循环相比,从性能角度来看,这种方法的速度如何?

如何随着列表长度的增加或减少而变化?

.net generics predicate list

4
推荐指数
1
解决办法
1025
查看次数

检查给定路径是否是golang中另一个的子目录

假设我们有两条路径:

c:\foo\bar\bazc:\foo\bar

是否有任何包/方法可以帮助我确定一个是否是另一个的子目录?我正在寻找一个跨平台的选择.

go

4
推荐指数
2
解决办法
1786
查看次数

列出Foreach参数化委托

我试图为列表的每个成员调用一个函数,但将其他参数传递给委托.

如果我有一个名单 documents

List<string> documents = GetAllDocuments();
Run Code Online (Sandbox Code Playgroud)

现在我需要迭代文档并为每个条目调用一个方法.我可以用类似的东西来做

documents.ForEach(CallAnotherFunction);
Run Code Online (Sandbox Code Playgroud)

这需要CallAnotherFunction有一个像这样的定义

public void CallAnotherFunction(string value)
{
    //do something
}
Run Code Online (Sandbox Code Playgroud)

但是,我需要CallAnotherFunction调用另一个参数,比如content依赖于调用列表.

所以,我的理想定义是

public void CallAnotherFunction(string value, string content)
{
    //do something
}
Run Code Online (Sandbox Code Playgroud)

我想将内容作为ForEach调用的一部分传递

List<string> documents = GetAllDocuments();
documents.ForEach(CallAnotherFunction <<pass content>>);

List<string> templates = GetAllTemplates();
templates.ForEach(CallAnotherFunction <<pass another content>>);
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以实现这一点,而无需定义不同的函数,或使用迭代器?

c# generics

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

完成显示的自定义顺序 - 摩纳哥

我指的是 monaco的完成提供程序示例

我注意到完成是按以下顺序定义的:lodash, express, mkdirp但编辑器中的建议是按字母顺序列出的。

我想自定义这种行为。这可能吗?我看过这个pull request,但无法将其连接起来。

任何帮助表示赞赏!

monaco-editor

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

获取在线并发用户数 - ASP.NET

我想知道登录到我的ASP.NET 2.0应用程序的用户数.

要考虑的要点:1)最简单的方法是使用Application或Cache对象来计算Session开始或结束的计数.但是,如果有工作进程回收,则会失败.不是吗?

2)无论会话是由进程/状态服务器托管/还是SQL服务器管理,都不应该有所区别.

3)最好应与web-farm架构无缝连接.

asp.net count

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