问题列表 - 第9075页

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

避免数据库依赖性进行单元测试而不进行模拟

我有很多对象需要数据库访问的方法.我们正在寻求进行单元测试,但是如果可能的话,我们希望避免使用模拟对象.我想知道是否有一种方法可以重构下面显示的Validate方法,以便它不需要db访问.在实际的应用程序中,通常会有更多的进展,但我认为这个简化的例子应该足够了.

如果我们需要,我们将学会使用模拟对象,但它似乎只是很多开销,所以我正在寻找替代方案.

    public class Person
    {
        public string Name;

        public string Validate()
        {
            if (PersonDA.NameExists(Name))
            {
                return "Name Already Used";
            }

        }
    }
Run Code Online (Sandbox Code Playgroud)

database dependencies unit-testing

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

即使DropDownList禁用了viestate,SelectedValue仍应返回一个值

我想我很了解ViewState,但以下是给我一些麻烦:

来自http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/truly-understanding-viewstate.aspx

即使ViewState被禁用,回发控件(如下拉列表和文本框)也会恢复其发布状态(下拉列表的选定项目已被'发布'),因为即使禁用了ViewState,控件仍然可以发布其值


假设DropDownListEnableViewState设置为false,那么(根据上面的引用)当用户通过选择DropDownList中的项目发出回发时,以下代码应该导致Label1.Text显示所选项目的值(因此DropDownList.SelectedValue应该返回用户选择的值,即使viewstate被禁用),但我得到一个空字符串:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string[] number = {"first","second","third"};
        DropDownList1.DataSource = number;
        this.DataBind();

    }
    if (IsPostBack)
    {
       Label1.Text = DropDownList1.SelectedValue; // displays empty string
       // Label1.Text = DropDownList1.SelectedItem.Text; // causes an exception           
       // Label1.Text = DropDownList1.SelectedIndex.ToString(); // displays empty string
    }
}
Run Code Online (Sandbox Code Playgroud)


该文章的作者似乎是这方面的专家,所以我假设我做错了什么!?!


感谢名单

c# asp.net viewstate

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

Windows cmd上的行尾

我有一个

而(cin >> string)

我希望用户输入字符串的循环.但是,我不知道如何结束输入.我知道在*nix机器上使用bash shell,我可以使用ctrl-D.但这似乎不适用于Windows的cmd.exe ...

有小费吗?

[编辑]这是在C++上

c++ cmd

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

如何在PHP中创建异步GET请求?

我希望对另一台服务器上的另一个脚本发出一个简单的GET请求.我该怎么做呢?

在一种情况下,我只需要请求外部脚本而无需任何输出.

make_request('http://www.externalsite.com/script1.php?variable=45'); //example usage
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,我需要获取文本输出.

$output = make_request('http://www.externalsite.com/script2.php?variable=45');
echo $output; //string output
Run Code Online (Sandbox Code Playgroud)

说实话,我不想乱用CURL,因为这不是CURL的工作.我也不想使用http_get,因为我没有PECL扩展.

fsockopen会工作吗?如果是这样,如何在不读取文件内容的情况下执行此操作?没有其他办法吗?

谢谢大家

更新

我应该补充一下,在第一种情况下,我不想等待脚本返回任何内容.据我所知,file_get_contents()会等待页面完全加载等?

php curl asynchronous http

94
推荐指数
6
解决办法
11万
查看次数

C++类公共字符串常量

在C++中,我想定义一些将在类中使用的字符串,但这些值在所有实例中都是通用的.在CI中会使用#defines.这是一个尝试:

#include <string>
class AskBase {
public:
    AskBase(){}
private:
    static std::string const c_REQ_ROOT = "^Z";
    static std::string const c_REQ_PREVIOUS = "^";
    static std::string const c_REQ_VERSION = "?v";
    static std::string const c_REQ_HELP = "?";
    static std::string const c_HELP_MSG = "  ? - Help\n ?v - Version\n ^^ - Root\n  ^ - Previous\n ^Z - Exit";
};
int main(){AskBase a,b;}
Run Code Online (Sandbox Code Playgroud)

如果需要C++ 0x,那是可以接受的.

c++ c++11

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

帮我命名这个属性(C#)

想象一下,我创建了这个类:

 public class ColoredPolygon
 {
     public Point[] Vertices { get; set; }
     public Brush Brush { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中,不难看出哪个"Brush"是类,哪个是属性.但有些事情告诉我,在课堂上命名一个属性并不是最好的做法.你怎么称这个属性?

更新关于命名的另一个问题:你如何命名数组?复数还是单数?

c# naming naming-conventions

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

在Vista上打开cmd.exe

我正在编写C++控制台程序.编译后,当我从文件浏览器运行程序时,cmd.exe会自动关闭,以至于无法看到我的程序输出.

解决这个问题的唯一方法就是从cmd.exe里面运行程序

无论如何在程序运行完成后保持cmd.exe打开?

有什么设置我可以在某处改变吗?我不想使用cmd.exe/K运行批处理脚本

谢谢!

[编辑]不知道这是否重要,但我在Vista x64上

c++ cmd vista64

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

在解析之前确定String是否是有效日期

我有这种情况,我正在阅读包含存储为字符串字段的日期的130K记录.有些记录包含空格(nulls),有些包含这样的字符串:'dd-MMM-yy',有些包含'dd/MM/yyyy'.

我写了一个像这样的方法:

public Date parsedate(String date){

   if(date !== null){
      try{
        1. create a SimpleDateFormat object using 'dd-MMM-yy' as the pattern
        2. parse the date
        3. return the parsed date
      }catch(ParseException e){
          try{
              1. create a SimpleDateFormat object using 'dd/MM/yyy' as the pattern
              2. parse the date
              3. return parsed date
           }catch(ParseException e){
              return null
           }
      }
   }else{
      return null
   }

} 
Run Code Online (Sandbox Code Playgroud)

所以你可能已经发现了这个问题.我正在使用try .. catch作为我逻辑的一部分.最好是我可以事先确定String实际上包含某种格式的可解析日期然后尝试解析它.

那么,是否有一些API或库可以帮助解决这个问题?我不介意写几个不同的Parse类来处理不同的格式,然后创建一个工厂来选择正确的6,但是,我该如何确定哪一个?

谢谢.

java parsing date

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

Rails应用程序中需要调整以使用Datamapper而不是ActiveRecord

我试图在Rails应用程序中使用Datamapper作为ActiveRecord的替代品.

我已按照各种设置说明操作,并在我的应用程序中使用Datamapper.

但是我发现不再有效的第一件事就是:

  <%= f.error_messages %>
Run Code Online (Sandbox Code Playgroud)

我相信这与ActiveRecord帮助器有关 - 在View for Datamapper中是否有另一种报告验证失败的方法?

我可能会遇到更多这样的功能示例,需要在我的应用中进行调整吗?

这个项目是否可行或是否可能涉及许多复杂的hackery?

是否有人记录了所有必需的应用程序调整?

我怀疑Datamapper没有被广泛使用,因为我发现在Google上很难找到这些简单的指令.

activerecord ruby-on-rails datamapper

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