问题列表 - 第21497页

模拟框架如何工作?

如果我要写一个模拟库,这将如何工作(换句话说,"它们如何工作?"?

我想知道的一件事是你总是设定期望,所以你需要将期望与方法在运行时所做的比较,所以我假设需要反射(在运行时解析类型).

此外,当使用术语"模拟对象"时,对象是否被删除或者它是否是具有预设期望的对象?

当我想我将如何编写自己的框架/技术实现时,比如模拟对象,我意识到我真正了解(或者不知道)以及我会踩到什么:如果模拟对象是预先编程的返回设定的期望而你不调用实际的真实对象,那么结果总是不一样吗?例如:

[TestMethod, Isolated]
public void FakeReturnValueByMethodArgs()
{
    var fake = Isolate.Fake.Instance<ClassToIsolate>();
    // MethodReturnInt will return 10 when called with arguments 3, "abc"
    Isolate.WhenCalled(()=> fake.MethodReturnInt(3,   "     abc")).WithExactArguments().WillReturn(10);
// MethodReturnInt will return 50 when called with arguments 3, "xyz"
    Isolate.WhenCalled(()=> fake.MethodReturnInt(3, "xyz")).WithExactArguments().WillReturn(50);

     Assert.AreEqual(10, fake.MethodReturnInt(3, "abc"));
    Assert.AreEqual(50, fake.MethodReturnInt(3, "xyz"));
Run Code Online (Sandbox Code Playgroud)

}

这总不会真的回归吗?

unit-testing mocking

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

php正则表达式:删除超过两倍的空间

$tags = preg_replace('/\s\s+/',' ', $tags);
Run Code Online (Sandbox Code Playgroud)

这将删除多个空间?

我需要删除超过双倍空间的任何东西.

php regex

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

更换系统性物体的策略

我们目前正着手用Linq替换C#应用程序中的ADO.NET堆栈.

因为应用程序没有使用数据抽象层构建,所以在整个应用程序的每一层都有ADO调用,以至于划分任何一个对象并尝试将其转换为Linq意味着你跑下了一个迷宫般的兔子洞.

我所要求的是处理这种批发系统变化的政策或方法,同时确保适当的测试和最小的"掉落工具"结束时间(货架在瞬间发出变化并在以后再回来).

我们玩弄了以下内容:

  • 使用新代码创建每个对象的镜像对象=必须维护2个代码库,直到完全转换
  • 使用ADO_前缀ADO函数的所有函数名称,并使用原始名称创建Linq版本
  • 有一个系统范围的FLAG表示是否使用ADO或Linq并用if(FLAG){ADO}来包装每个ADO调用其他{Linq} =必须在转换后返回并删除所有ADO引用

到目前为止,每一个建议都是令人畏缩的.

你们/ gals建议你做什么?

注意:我从标题中删除了'(ADO to Link)',因为我正在寻找更通用的答案和实践,而不仅仅局限于此处使用的ADO到Linq转换.

c# linq ado.net

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

从MVC版本1迁移后,ASP.NET MVC 2 actionlink中断

我正在将我的应用程序从asp.net mvc迁移到mvc版本2,并且遇到以下问题.

我有每个页面中包含的分页链接<< <> >>.像这样:

        <% Html.RenderPartial("PagingControl", Model); %>
Run Code Online (Sandbox Code Playgroud)

它们存在于ascx文件中,如下所示.

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<BankingDB.Controllers.Utility.IPagedSortedObject>" %>
    <div class="paging">
        <div class="previous-paging">
<!- error!! -><%= Model.HasPreviousPage ? Html.ActionLink("<<", "Index", Model.buildParams(1)) : "<<"%>
            <%= Model.HasPreviousPage ? Html.ActionLink("<", "Index", Model.buildParams(Model.PreviousPageIndex)) : "<"%>
        </div>
        <div class="paging-details">
            Showing records <%= Model.BaseRecordIndex %> to <%= Model.MaxRecordIndex %> of <%= Model.TotalRecordCount %>
        </div>
        <div class="next-paging">
            <%= Model.HasNextPage ? Html.ActionLink(">", "Index", Model.buildParams(Model.NextPageIndex)) : ">"%>
            <%= Model.HasNextPage ? Html.ActionLink(">>", "Index", Model.buildParams(Model.PageCount)) : ">>"%>
        </div>        
    </div>
Run Code Online (Sandbox Code Playgroud)

当我尝试访问该页面时,我收到错误:

CS0173:无法确定条件表达式的类型,因为'System.Web.Mvc.MvcHtmlString'和'string'之间没有隐式转换

错误标记在上方,似乎与操作链接有关.包括控制器名称没有帮助.有任何想法吗?

asp.net-mvc asp.net-mvc-2

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

使用Visual Studio构建在ClickOnce中进行部分应用程序更新

我使用VS2008使用ClickOnce发布我的应用程序文件.我在某处读到ClickOnce智能地只进行部分更新; 这意味着如果文件在后续更新中发生更改,它只会从网络共享中下载文件.但是,这对我不起作用.所以我做了一些研究并偶然发现了这篇MSDN文章 - http://msdn.microsoft.com/en-us/library/ms404267.aspx.它说,如果我们使用VS构建,它不会执行部分更新.谁能告诉我为什么会这样呢?如果是这样,有没有办法让至少第一次下载引用的dll.我正在使用Microsoft Practices Enterprise Library和一些第三方控件(带有巨大的Theme文件).

谢谢,Uniball

clickonce

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

如何在mod_perl2下运行Devel :: Cover?

不幸的是,Devel::Cover还没有使用线程.

它也不适用于prefork.

use"D IN startup.pl,Devel::Cover问题

Not a CODE reference.
END failed--call queue aborted.
Run Code Online (Sandbox Code Playgroud)

perl 5.8.9,Apache 2.2.13.我的操作系统是FreeBSD,如果重要的话.报告的win32问题相同.

更新:这是输出PerlTrace all

copying config
restarting apache
mod_perl trace flags dump:
 a On  (Apache API interaction)
 c On  (configuration for directive handlers)
 d On  (directive processing)
 e On  (environment variables)
 f On  (filters)
 g On  (globals management)
 h On  (handlers)
 i On  (interpreter pool management)
 m On  (memory allocations)
 o On  (I/O)
 r …
Run Code Online (Sandbox Code Playgroud)

perl code-coverage mod-perl2 devel-cover

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

通过多步骤表格传递信用卡号码的最安全方式?

在第3步,我有一张接受信用卡的表格,第4步重新打印信息,包括信用卡的最后4位数字,第5步我需要知道完整的CC#来处理它并通过我的https发送连接到第三方供应商 - 我应该通过隐藏输入存储它还是$_SESSION因此我可以在第3步和第5步之间访问它?

仅供参考:我的整个网站已经过https'd.

php security credit-card

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

创建以后台开头的emacs别名?

如果emacs守护程序已经运行,我在bash中有一个运行emacsclient的别名,否则启动emacs.但是,如果启动了一个新的emacs实例,我可以让它在后台运行,这样我仍然可以使用该终端(或关闭它)吗?在我的bash配置文件中,我有

alias ec="/usr/bin/emacsclient.emacs-snapshot -n -c -a /usr/bin/emacs-snapshot"
Run Code Online (Sandbox Code Playgroud)

我可能会在终端并打字

$ ec newfile
Run Code Online (Sandbox Code Playgroud)

如果emacs守护程序尚未运行,是否存在我可以创建的别名以使上面的行相当于

$ emacs newfile &
Run Code Online (Sandbox Code Playgroud)

代替

$ emacs newfile
Run Code Online (Sandbox Code Playgroud)

(我还应该提到我使用Linux Ubuntu并将emacs-snapshot分配给别名'emacs').

非常感谢!

unix linux emacs bash emacs23

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

什么更安全?我是否应该向用户发送包含过期URL的电子邮件以重置密码,还是应该通过电子邮件发送新生成的密码?

当用户忘记密码时,我想知道什么是更安全的选择

  • 将随机生成的新密码发送到电子邮件地址(我的数据库中的所有电子邮件地址都已确认可用).

要么

  • 发送一封电子邮件,其中包含在特定时间范围内过期的链接,用户可以在该时间范围内重置密码.

除了后者使用额外的桌子之外,您认为更安全/更好的做法是什么?

security passwords reset-password

24
推荐指数
4
解决办法
2343
查看次数

使用ANTLR解析日志文件

我只是从ANTLR开始并尝试从日志文件中解析一些模式

例如:日志文件:

7114422 2009-07-16 15:43:07,078 [LOGTHREAD] INFO StatusLog - 任务0输入:uk.project.Evaluation.Input.Function1(selected = ["red","yellow"]){}

7114437 2009-07-16 15:43:07,093 [LOGTHREAD] INFO StatusLog - 任务0输出:uk.org.project.Evaluation.Output.Function2(selected = ["Rocket"]){}

7114422 2009-07-16 15:43:07,078 [LOGTHREAD] INFO StatusLog - 任务0输入:uk.project.Evaluation.Input.Function3(selected = ["blue","yellow"]){}

7114437 2009-07-16 15:43:07,093 [LOGTHREAD] INFO StatusLog - 任务0输出:uk.org.project.Evaluation.Output.Function4(selected = ["Speech"]){}

现在我必须解析这个文件,只找到'Evaluation.Input.Function1',它的值为'red'和'yellow','Evaluation.Output.Function2'和值'Rocket'并忽略其他所有内容,同样地忽略其他2个输入和输出功能3,4以下.有许多这样的输入和输出功能,我必须找到这样的输入/输出功能集.这是我尝试的语法无法正常工作.任何帮助,将不胜感激.作为我第一次尝试编写语法和ANTLR,它现在变得非常艰巨.

grammar test;

    tag : inputtag+ outputtag+ ;
//Input tag consists of atleast one inputfunction with one or more values
inputtag:  INPUTFUNCTIONS INPUTVALUES+;

//output tag consists of atleast one ontput function with one or more output values
outputtag …
Run Code Online (Sandbox Code Playgroud)

antlr

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