标签: testcase

如何向 NUnit 测试用例添加结果容差

我有一个算法可以在摄氏度和华氏度之间转换值。为了测试它是否适用于各种值,我使用 NUnit 的测试用例,如下所示:

[TestCase( 0, Result = -17.778 )]
[TestCase( 50, Result = 10 )]
public double FahrenheitToCelsius(double val) {
    return (val - 32) / 1.8;
}
Run Code Online (Sandbox Code Playgroud)

问题是第一个测试用例失败,因为它测试完全匹配。
我发现的一种解决方案是执行以下操作:

[TestCase( 0, -17.778 )]
[TestCase( 50, 10 )]
public void FahrenheitToCelsius2(double val, double expected) {
    double result =  (val - 32) / 1.8;
    Assert.AreEqual( expected, result, 0.005 );
}
Run Code Online (Sandbox Code Playgroud)

但我对此不太满意。我的问题是:
可以在测试用例中定义结果的容差吗?

更新:
为了澄清,我正在寻找类似的内容:

[TestCase( 0, Result = 1.1, Tolerance = 0.05 )]
Run Code Online (Sandbox Code Playgroud)

c# precision nunit testcase

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

如何存根 ActiveSupport::TestCase 中的方法

RSpec我可以存根这样的方法:

allow(company).to receive(:foo){300}
Run Code Online (Sandbox Code Playgroud)

我怎样才能存根一个方法ActiveSupport::TestCase

我有一个这样的测试。

class CompanyTest < ActiveSupport::TestCase
  test 'foobar' do
    company = companies(:base)
    #company.stubs(:foo).returns(300)
    assert_nil(company.calculate_bar)
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails testcase

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

如何在VS 2017 .net core项目中生成单元测试用例?

Visual Studio 2017 for .Net core 项目中缺少“创建单元测试”上下文菜单选项?

我读到一些文章说“创建单元测试”上下文菜单选项在 VS2017/Core/x64 配置中被删除。但那些都是旧文章了。那么,想检查一下这个选项现在是否可用?如果没有,我们是否有其他替代方案(扩展)来生成测试用例?如果是这样,请告诉我步骤。

我正在开发 VS 2017/.NetCore 2.0 项目。

感谢你的帮助!

unit-testing testcase asp.net-core-webapi visual-studio-2017 asp.net-core-2.0

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

Java:为什么这种方法有副作用?

我有一种产生副作用的方法,即使标记了某些变量final.为什么是这样?也许我对这是什么感到困惑final.

@Test
public void testSubGraph() {
    WeightedGraph<String, DefaultWeightedEdge> g = generateSimpleCaseGraph();

    Graph<String, DefaultWeightedEdge> sub = ChooseRoot.subgraphInDirection(g, "alpha", "l");

    assertEquals(g, generateSimpleCaseGraph()); //fails 
}

public static <V, E extends DefaultEdge> Graph<V, E> subgraphInDirection(final Graph<V, E> g, final V start, final V sink) {
    Graph<V, E> sub = removeEdges(g, start, sink);
    return removeUnconnectedNodes(sub, start);
}

private static <Vertex, Edge extends DefaultEdge> Graph<Vertex, Edge> removeEdges(final Graph<Vertex, Edge> g, Vertex start, Vertex sink) {
    final Set<Edge> outEdges = new HashSet<Edge>(g.edgesOf(start));
    boolean …
Run Code Online (Sandbox Code Playgroud)

java final side-effects jgrapht testcase

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

我怎么能做这样一个典型的单元测试?

这是我项目中的一个简单结构:

MyAPP---
        note---
               __init__.py
               views.py
               urls.py
               test.py
               models.py
        auth--
              ...
        template---
                   auth---
                          login.html
                          register.html
                   note---
                          noteshow.html
                   media---
                           css---
                                 ...
                           js---
                                 ...
        settings.py
        urls.py
        __init__.py
        manage.py
Run Code Online (Sandbox Code Playgroud)

我想制作一个单元测试,可以测试noteshow页面是否正常工作.

代码:

from django.test import TestCase

class Note(TestCase):
    def test_noteshow(self):
        response = self.client.get('/note/')
        self.assertEqual(response.status_code, 200)
        self.assertTemplateUsed(response, '/note/noteshow.html')
Run Code Online (Sandbox Code Playgroud)

问题是我的项目包含一个auth mod,它会强制unlogin用户在访问noteshow.html时重定向到login.html页面.

因此,当我运行我的unittest时,在bash中它会引发一个失败,即response.status_code总是302而不是200.

好吧,虽然通过这个结果我可以检查auth mod运行良好,它不像我想要的那样.

好的,问题是我怎样才能使用另一个单元测试来检查我的noteshow.template是否被使用?

谢谢大家.

django版本:1.1.1

python版本:2.6.4

将Eclipse用于MAC OS

python django testcase

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

JUnit测试用程序通过eclipse传递但是使用maven构建失败

我使用spring为JPA编写了一个JUnit测试用例.测试用例通过eclips.但是如果我使用maven(mvn test)执行相同的测试用例,它就会失败.

我的测试用例是:

import javax.annotation.Resource;

import junit.framework.TestCase;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:config/servicecontext-standalone.xml")
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback =      false)
@Transactional
public class UserServiceImplTest extends TestCase {

@Resource(name = "UserService")
private UserService userService;

public UserServiceImplTest() {
}

public UserService getUserService() {
    return userService;
}

public void setUserService(UserService userService) {
    this.userService = userService;
}

@Test
public void testFindUser() {
    try {
        UserFindRequest pUserFindRequest = new UserFindRequest();
        pUserFindRequest.setUserId(1);
        UserServiceImpl aUserServiceImpl = (UserServiceImpl) this …
Run Code Online (Sandbox Code Playgroud)

eclipse spring jpa testcase maven

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

如何为调用其他方法的方法编写spock测试用例

假设我有一个方法将一些数据填充到列表中,它在内部调用另一个方法(我正在独立测试)并将一些数据填充到列表中.这里有什么最好的测试方法?

如何测试外部方法?我是否应该从内部方法检查数据,否则只测试外部方法填充的数据?

testcase spock

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

需要帮助在MVVMLight中使用Messaging编写单元测试用例

我是单元测试用例写作的新手.我在WPF中使用MVVMLigh.是否有必要使用一些第三方测试框架或.Net Unit测试框架呢?另外如何在单元测试用例中处理静态类?在这种情况下AppMessages类.

有人可以指导我如何编写以下代码的单元格:

public MyViewModel(Participant participant)
{    
    if (participant != null)
    {
        this.ParentModel = parentModel;
        OkCommand = new RelayCommand(() => OkCommandExecute());
        CalculateAmountCommand = new RelayCommand(() => CalculateAmount());        
    }
    else
    {
        ExceptionLogger.Instance.LogException(Constants.ErrorMessages.FinancialLineCanNotBeNull, "FinancialLineViewModel");
        AppMessages.DisplayDialogMessage.Send(Constants.ErrorMessages.FinancialLineCanNotBeNull, MessageBoxButton.OK, Constants.DefaultCaption, null);
    }
}

public static class AppMessages
{
    enum AppMessageTypes
    {
        FinancialLineViewDisplay,
        FinancialLineViewClose,
        DisplayDialogMessage
    }

    public static class DisplayDialogMessage
    {
        public static void Send(string message, MessageBoxButton button, string caption, System.Action<MessageBoxResult> action)
        {
            DialogMessage dialogMessage = new DialogMessage(message, action)
            {
                Button = button,
                Caption = caption …
Run Code Online (Sandbox Code Playgroud)

static-methods unit-testing testcase mvvm-light

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

常见的@before和@after用于junit中的测试类

是否可以使用可在多个测试类中使用的通用@Before@After固定装置?

我已根据模块(库存,销售,采购等)将测试(分类)分开.对于所有这些测试,用户登录是一个先决条件,目前我正在@Before为每个类使用它.问题是当我需要更改用户ID或密码时,我需要更改每个类.有没有办法编写@Before/ @After可以在所有测试类中使用?在这种情况下,测试套件是否可以派上用场?

java junit4 testcase

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

如何为Perl脚本编写单元测试用例

我能够test_case.t为Perl模块编写单元测试ModuleOne.pm

test_case.t

use strict;
use warnings;
use Test::More;
use Test::Cmd;
use ModuleOne; # Included the module here

my $ret = ModuleOne::methodone(args);
is($ret->{val}, 1, "Checking return value"); # success 
Run Code Online (Sandbox Code Playgroud)

我正在尝试为Perl脚本实现相同的单元测试用例 script_one.pl

script_one.pl

use strict;
use warnings;
use ModuleOne;

my $NAME;
my $ID;

# get parameters
GetOptions (
 "name" => \$NAME,
 "emp_id" => \$ID,
)

validate_params();

sub validate_params {
   # this method will validate params 
}

sub print_name {
   # this method will print name 
}
Run Code Online (Sandbox Code Playgroud)

我如何script_one.pl在这个Perl文件中包含 …

perl unit-testing testcase test-more

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