标签: testing

如何自动将db:seed数据加载到测试数据库中?

我正在尝试使用Rails 2.3.4+(db:seedrake任务)中加载种子数据的新标准方法.

我正在加载常量数据,这是我的应用程序真正正常运行所必需的.

db:seed在测试之前让任务运行的最佳方法是什么,所以数据是预先填充的?

testing ruby-on-rails seed

117
推荐指数
4
解决办法
6万
查看次数

覆盖Java System.currentTimeMillis以测试对时间敏感的代码

有没有办法,无论是在代码中还是在JVM参数中,都可以覆盖当前时间,如System.currentTimeMillis手动更改主机上的系统时钟所示?

一点背景:

我们有一个系统可以运行许多会计工作,这些工作围绕当前日期(即本月的第一天,一年中的第一天等)展开大部分逻辑.

不幸的是,很多遗留代码都会调用诸如new Date()or之类的函数,这些函数Calendar.getInstance()最终都会调用System.currentTimeMillis.

出于测试目的,我们现在仍然需要手动更新系统时钟来操作代码认为运行测试的时间和日期.

所以我的问题是:

有没有办法覆盖返回的内容System.currentTimeMillis?例如,告诉JVM在从该方法返回之前自动添加或减去一些偏移量?

提前致谢!

java testing jvm systemtime

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

使用Moq验证方法调用

我对C#中的单元测试相当新,并且学习使用Moq.以下是我要测试的课程.

class MyClass
{
    SomeClass someClass;
    public MyClass(SomeClass someClass)
    {
        this.someClass = someClass;     
    }

    public void MyMethod(string method)
    {
        method = "test"
        someClass.DoSomething(method);
    }   
}

class Someclass
{
    public DoSomething(string method)
    {
        // do something...
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是我的TestClass:

class MyClassTest
{
    [TestMethod()]
    public void MyMethodTest()
    {
        string action="test";
        Mock<SomeClass> mockSomeClass = new Mock<SomeClass>();
        mockSomeClass.SetUp(a => a.DoSomething(action));
        MyClass myClass = new MyClass(mockSomeClass.Object);
        myClass.MyMethod(action);
        mockSomeClass.Verify(v => v.DoSomething(It.IsAny<string>()));
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

Expected invocation on the mock at least once, but was never performed …
Run Code Online (Sandbox Code Playgroud)

c# testing methods moq

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

django单元测试没有db

是否有可能在没有设置数据库的情况下编写django单元测试?我想测试不需要db设置的业务逻辑.虽然设置db很快,但在某些情况下我真的不需要它.

testing django

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

JUnit:如何在test utils类中避免"没有runnable方法"

我已经从JUnit3.8切换到JUnit4.4.我使用ant运行我的测试,所有测试都成功运行,但测试实用程序类失败并显示"No runnable methods"错误.我使用的模式是在测试文件夹下包含名称为*Test*的所有类.

我知道跑步者找不到任何用@Test属性注释的方法.但是它们不包含这样的注释,因为这些类不是测试.令人惊讶的是,当在eclipse中运行这些测试时,它并没有抱怨这些类.

在JUnit3.8中,它根本不是问题,因为这些实用程序类没有扩展TestCase,所以跑步者没有尝试执行它们.

我知道我可以在ant脚本中的junit目标中排除这些特定的类.但我不想在我添加的每个新实用程序类上更改构建文件.我也可以重命名课程(但是给课程好名字总是我最弱的人才:-))

这个问题有没有优雅的解决方案?

java ant testing junit

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

如何在我的项目中"测试"所有测试?

该go test命令*_test.go仅涵盖一个目录中的文件.

我想要go test整个项目,这意味着测试应该涵盖*_test.go目录中的所有文件./以及目录下的每个chindren树目录./.

执行此操作的命令是什么?

testing go

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

Google Espresso或Robotium

我必须使用Automated UI测试工具,我对使用Robotium和Google Espresso感到困惑.

两者之间有哪些主要区别?是否存在一个但不存在的功能?

testing android robotium android-testing android-espresso

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

如何衡量用PHP编写的代码的速度?

我怎么能说哪一类(哪些都做同样的工作)执行得更快?有没有可以衡量的软件?

php testing performance measurement

113
推荐指数
6
解决办法
8万
查看次数

如何使用JUnit测试依赖于环境变量的代码?

我有一段使用环境变量的Java代码,代码的行为取决于此变量的值.我想用环境变量的不同值测试此代码.我怎么能在JUnit中这样做?

我已经看到了一些在Java中设置环境变量的方法,但是我对它的单元测试方面更感兴趣,特别是考虑到测试不应该相互干扰.

java testing junit unit-testing environment-variables

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

如何在下拉量子器e2e测试中选择选项

我试图从下拉列表中选择使用量角器进行角度e2e测试的选项.

以下是select选项的代码段:

<select id="locregion" class="create_select ng-pristine ng-invalid ng-invalid-required" required="" ng-disabled="organization.id !== undefined" ng-options="o.id as o.name for o in organizations" ng-model="organization.parent_id">
    <option value="?" selected="selected"></option>
    <option value="0">Ranjans Mobile Testing</option>
    <option value="1">BeaverBox Testing</option>
    <option value="2">BadgerBox</option>
    <option value="3">CritterCase</option>
    <option value="4">BoxLox</option>
    <option value="5">BooBoBum</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我试过了:

ptor.findElement(protractor.By.css('select option:1')).click();
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

指定了无效或非法字符串构建信息:版本:'2.35.0',修订版:'c916b9d',时间:'2013-08-12 15:42:01'系统信息:os.name:'Mac OS X' ,os.arch:'x86_64',os.version:'10 .9',java.version:'1.6.0_65'驱动程序信息:driver.version:unknown

我也尝试过:

ptor.findElement(protractor.By.xpath('/html/body/div[2]/div/div[4]/div/div/div/div[3]/ng-include/div/div[2]/div/div/organization-form/form/div[2]/select/option[3]')).click();
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

ElementNotVisibleError:元素当前不可见,因此可能无法与命令持续时间或超时交互:9毫秒构建信息:版本:'2.35.0',修订版:'c916b9d',时间:'2013-08-12 15:42: 01'系统信息:os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .9',java.version:'1.6.0_65'会话ID:bdeb8088-d8ad-0f49-aad9 -82201c45c63f驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver Capabilities [{platform = MAC,acceptSslCerts = true,javascriptEnabled = true,browserName = firefox,rotating = false,locationContextEnabled = true,version = 24.0,cssSelectorsEnabled = true,databaseEnabled = true,handlesAlerts = …

javascript testing selenium angularjs protractor

113
推荐指数
8
解决办法
14万
查看次数