小编Jam*_*ers的帖子

如果我在Try块中返回一个值,那么finally语句中的代码会触发吗?

我正在为一位朋友审查一些代码,并说他在try-finally块中使用了一个return语句.即使try块的其余部分没有,Finally节中的代码是否仍会触发?

例:

public bool someMethod()
{
  try
  {
    return true;
    throw new Exception("test"); // doesn't seem to get executed
  }
  finally
  {
    //code in question
  }
}
Run Code Online (Sandbox Code Playgroud)

.net c# exception-handling try-catch

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

如何回显并将控制台输出发送到bat脚本中的文件?

我有一个批处理脚本执行任务并将输出发送到文本文件.有没有办法在控制台窗口上显示输出?

例如:

c:\Windows>dir > windows-dir.txt
Run Code Online (Sandbox Code Playgroud)

有没有办法dir在控制台窗口中显示输出并将其放入文本文件?

windows cmd batch-file

132
推荐指数
5
解决办法
34万
查看次数

一个单元如何用Express测试路线?

我正在学习Node.js并且一直在使用Express.真的很喜欢框架;但是,我无法弄清楚如何为路线编写单元/集成测试.

能够对简单模块进行单元测试很容易,并且已经使用Mocha进行了测试 ; 但是,我的单元测试使用Express失败,因为我传入的响应对象不保留值.

正在测试的路由功能(routes/index.js):

exports.index = function(req, res){
  res.render('index', { title: 'Express' })
};
Run Code Online (Sandbox Code Playgroud)

单元测试模块:

var should = require("should")
    , routes = require("../routes");

var request = {};
var response = {
    viewName: ""
    , data : {}
    , render: function(view, viewData) {
        viewName = view;
        data = viewData;
    }
};

describe("Routing", function(){
    describe("Default Route", function(){
        it("should provide the a title and the index view name", function(){
        routes.index(request, response);
        response.viewName.should.equal("index");
        });

    });
});
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它失败了"错误:检测到全局泄漏:viewName,data".

  1. 我哪里出错,以便我可以让这个工作?

  2. 有没有更好的方法让我在这个级别对我的代码进行单元测试?

更新 …

node.js express

90
推荐指数
5
解决办法
6万
查看次数

JavaScript源代码分析器

有谁知道一个检查JavaScript文件的好的,可扩展的源代码分析器?

javascript code-analysis

46
推荐指数
2
解决办法
5万
查看次数

检查数据读取器中是否存在列

有没有办法查看基于IDataReader的对象中是否存在字段而不检查IndexOutOfRangeException?

本质上,我有一个方法,它采用一个基于IDataReader的对象,并创建一个强类型的记录列表.在一个实例中,一个数据读取器具有其他数据读取器不具有的字段.我真的不想重写所有提供此方法的查询,以便包含某些形式的此字段(如果我不需要).到目前为止,我能够弄清楚如何做到这一点的唯一方法是将1个唯一字段抛出到try/catch块中,如下所示.

try
{
    tmp.OptionalField = reader["optionalfield"].ToString();
}
catch (IndexOutOfRangeException ex)
{
    //do nothing
}
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法将"可选字段"添加到其他查询或复制加载方法,因此1版本使用可选字段而另一个不使用?

我也在2.0框架中.

c# idatareader

43
推荐指数
5
解决办法
6万
查看次数

Visual Studio项目/解决方案结构是否有最佳实践?

我已经看到了很多关于这个主题的不同看法,所以我想是否有一个首选的方法.

有关如何针对相同解决方案的多个解决方案设置Visual Studio项目和解决方案的最佳实践吗?

例如:假设我有一个需要Web应用程序,控制台应用程序和共享业务逻辑库的任务.

在我职业生涯的某个时间,我已经在1,2和3解决方案中看到过这种情况.这是一个简单的例子; 但是,如果项目数量增长怎么办?是什么时候将它保持在一个或分开?

visual-studio

31
推荐指数
3
解决办法
5万
查看次数

F# - 我应该在有或没有#light的情况下学习吗?

我正在学习F#,到目前为止我很享受.几乎所有在线示例都使用轻量级语法(#light); 但是,在大多数情况下,也会对所述示例进行评论.

使用#light启用还是禁用来学习F#会更好吗?我打算最终学习它没有开启,但我很好奇是否在开始学习它或者在我更熟悉核心语言之后应用它.

f#

31
推荐指数
3
解决办法
7690
查看次数

是否可以使用反射设置静态类的静态私有成员?

我有一个static classstatic private readonly构件的VIA类的设置static constructor.下面是一个简化的例子.

public static class MyClass
{
    private static readonly string m_myField;

    static MyClass()
    {
        // logic to determine and set m_myField;
    }

    public static string MyField
    {
        get
        {
            // More logic to validate m_myField and then return it.
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

由于上面的类是一个静态类,我无法创建它的实例,以便利用传递给FieldInfo.GetValue()调用来检索并稍后设置值m_myField.有没有一种方法我不知道要么使用FieldInfo类来获取和设置静态类的值,还是唯一的选择是重构我被要求进行单元测试的类?

c# reflection

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

我可以在运行时将ConnectionStrings添加到ConnectionStringCollection吗?

有没有办法在Asp.Net应用程序中在运行时向ConfigurationManager返回的ConnectionStringCollection添加连接字符串?

我尝试了以下但是被告知配置文件是只读的.

ConfigurationManager.ConnectionStrings.Add(new ConnectionStringSettings(params));
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以在运行时执行此操作吗?我知道在设计时我可以在web.config中添加连接字符串; 但是,我希望在运行时向该集合添加一些东西.

谢谢

编辑:我试图这样做的原因之一是由于安全要求阻止我将ConnectionStrings放在web.config(甚至加密).我想在我的项目中使用会员和个人资料等元素; 但是,我正在寻找一种替代方法来做这样的,而不是编写自定义提供程序.自定义提供商并不是那么糟糕,但如果我能找到一个更简单的解决方案,我就是全力以赴.

c# asp.net connection-string web-config

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

如何模拟静态单例?

我有一些课程,我被要求添加一些单元测试与Rhino Mocks并有一些问题.

首先,我知道RhinoMocks不允许模拟静态成员.我正在寻找我的选择(除了使用TypeMock).

我所拥有的类的示例与以下类似:

class Example1 : ISomeInterface
{
    private static ISomeInterface _instance;

    private Example1()
    {
        // set properties via private static methods
    }

    static Example1()
    {
        _instance = new Example1();
    }

    public static ISomeInterface Instance() 
    {
        get { return _instance; }
    }

    // Instance properties 

    // Other Instance Properties that represent objects that follow a similar pattern.
}
Run Code Online (Sandbox Code Playgroud)

所以当我打电话给上面的课时,它看起来像这样......

Example1.Instance.SomeObject.GoDownARabbitHole();
Run Code Online (Sandbox Code Playgroud)

有没有办法让我SomeObject.GoDownARabbitHole()在这种情况下嘲笑或嘲笑实例?

c# unit-testing rhino-mocks

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