问题列表 - 第32554页

使用当前时间条件处理单元测试

我正在为我正在进行的项目中的某些实用程序类设置单元测试,其中一个类(包含许可信息)有一个方法可以根据当前时间做一些确定.

即许可证包含到期日期,许可证字符串验证该日期,但是查看许可证是否过期的实际逻辑基于当前时间.

public boolean isValid()
{
    return isLicenseStringValid() && !isExpired();
}

public boolean isExpired()
{
    Date expiry = getExpiryDate();
    if( expiry == null ) {
        return false;
    }

    Date now = new Date();

    return now.after( expiry );
}
Run Code Online (Sandbox Code Playgroud)

所以,我不知道该怎么做,因为'new Date()'不是一个静态的标准.

  1. 我不应该费心去测试'isValid',只是分别测试'isLicenseStringValid()'和'getExpiryDate()'函数吗?
  2. 我是否只是在测试中使用许可证密钥,并且到期时间很长,这样我就可以在到期时切换作业了?
  3. 我是否试图将'new Date()'模拟为某些'getCurrentTime()'方法,以便我可以假装它现在是什么时候?

其他人通常会做什么时间条件的测试?

java tdd junit unit-testing mocking

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

如何查看Mercurial文件的修订历史记录?

对于Mercurial存储库中的给定文件,您如何查看修订历史记录?

你如何区分文件的两个修订版?

理想情况下使用可视化工具完成所有这些(我们使用ExamDiff来做其他差异).

我会说这是基本的源代码控制功能,但我似乎无法弄清楚如何使用Mercurial执行此操作.

diff mercurial revision

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

imeOptions"actionNext"以编程方式 - 如何跳转到下一个字段?

在布局XML,可以指定android:imeOptions="actionNext"其将Next在虚拟键盘上按一下按钮-焦点跳跃到下一个字段.

如何以编程方式执行此操作 - 例如,基于某些事件触发焦点转到下一个字段?

android android-widget

88
推荐指数
4
解决办法
5万
查看次数

如何使用aws-s3 gem在存储桶之间复制文件

aws-s3文档说:

  # Copying an object
  S3Object.copy 'headshot.jpg', 'headshot2.jpg', 'photos'
Run Code Online (Sandbox Code Playgroud)

但是我如何heashot.jpgphotos桶中复制到archive桶中

谢谢!

德布

ruby gem ruby-on-rails amazon-s3

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

公共内部阶级

任何人都可以解释,为什么我们可以这样做,为什么我们需要这个

public class OuterClass
{
  public class InnerClass 
  {
  }
}
Run Code Online (Sandbox Code Playgroud)

为什么我们需要公共内部的东西:struct,class,enum或static class?

我认为如果它是内在的那么它必须是私有的或受保护的.

.net c# java

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

如何比较两个AssemblyName实例?

如何比较两个AssemblyName实例以确定它们是否代表相同的程序集?"等于"方法未被覆盖.

我能想到的一种方法是比较两个实例的'ToString()'结果,但我更喜欢'Equals'语法,因为我需要准备一个'unique'AssemblyName实例的列表(List),并希望使用'包含(AssemblyName项)'方法.

.net c#

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

动态变量名称在C#中用于WinForms

不确定说出这个的最好方法是什么,但我想知道是否可以在C#(3.5)中完成动态变量名访问.

这是我目前正在寻找"智能化"或通过循环使其更优雅的代码.

    private void frmFilter_Load(object sender, EventArgs e)
    {
        chkCategory1.Text = categories[0];
        chkCategory2.Text = categories[1];
        chkCategory3.Text = categories[2];
        chkCategory4.Text = categories[3];
        chkCategory5.Text = categories[4];
        chkCategory6.Text = categories[5];
        chkCategory7.Text = categories[6];
        chkCategory8.Text = categories[7];
        chkCategory9.Text = categories[8];
        chkCategory10.Text = categories[9];
        chkCategory11.Text = categories[10];
        chkCategory12.Text = categories[11];  


    }
Run Code Online (Sandbox Code Playgroud)

有没有办法做某事("chkCategory"+ i.ToString()).文字?

.net c# controls winforms

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

最快的脚本编程语言?

我有一个Web应用程序项目,其中的性能最重要,我可以选择使用的技术.

与Web应用程序无关的语言管理基准测试.

你认为什么是最合适的候选人?

谢谢!


一位朋友在IRC上建议使用gwan服务器.看起来像我在寻找,但我以前从未听说过.有这方面经验的人吗?易用性,可靠性?

在我离开Apache之前,我想了解你的想法.

scripting g-wan

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

在特定日期执行.Net应用程序的方法

我有一个要求,即由Windows服务运行的应用程序将在一周(周日至周六)的特定日期执行.这些天应该存储在配置文件中,并且可以由用户随时更改.

你能否指出正确的方向来实现这一目标.如果您需要对此进行任何澄清,请与我们联系.

c#

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

客户端文件缓存

如果我理解正确,broswer根据文件名缓存图像,JS文件等.因此,如果更新一个此类文件(在服务器上),则浏览器将使用缓存副本.

此问题的解决方法是重命名所有文件(作为构建的一部分),以便文件名包含其内容的MD5哈希,例如

foo.js -> foo_AS577688BC87654.js
me.png -> me_32126A88BC3456BB.png
Run Code Online (Sandbox Code Playgroud)

但是,除了重命名文件本身之外,还必须更改对这些文件的所有引用.例如,<img src="me.png"/>应该更改为标记<img src="me_32126A88BC3456BB.png"/>.

显然,这可能变得非常复杂,特别是当您考虑可以在服务器端代码中动态创建对这些文件的引用时.

当然,一种解决方案是使用HTTP头完全禁用浏览器(以及服务器和浏览器之间的任何缓存)的缓存.但是,没有缓存会产生一系列问题.

有更好的解决方案吗?

谢谢,唐

caching

16
推荐指数
3
解决办法
8055
查看次数