我有一些旧的MbUnit代码,如下所示:
public class MyFixture {
[SetUp]
public void SetUp() {
// Add data to database
}
[Test, Rollback]
public void DoTest() {
// Tests with the data
}
}
我的新NUnit回滚属性看起来有点像这样:
public class RollbackAttribute : TestActionAttribute
{
public o
我有一个ActiveRecord类,它具有基于另一个表的内容动态添加的作用域。
(简化代码示例)
class Thing < ActiveRecord::Base
Feature.all.each do |feature|
scope feature.name, ->{joins(:feature).where("feature.name = #{feature.name})}
end
end
应用程序UI的另一部分是一个“东西显示”,它允许您搜索并应用这些功能范围作为搜索的一部分。
在运行的应用程序中,这一切都很好。
然而,在测试中,成功似乎取决于加载的
我是新的单位,并试图运行2个测试夹具,A& B。在每个夹具,我有一个独特的设置方法为每个。但是,当我在Visual中的“”中单击"Run“时,就会调用夹具A的测试设置(首先执行它),而忽略了first的设置。在通过命令行运行所有测试时,我也会得到相同的行为。下面是我的代码:
夹具A
[TestFixture]
public class A
{
[SetUp]
public void SetupTest()
{
// ...Setup for Fixture A
}
我想在conftest.py中设置一个固定设备,并与我的所有测试共享它。但是,在下面的最小示例中运行pytest时,我会遇到以下错误:
ERROR at setup of test_test
Fixture "pytest_runtest_setup" called directly. Fixtures are not meant to be called directly,
but are created automatically when test functions request them as parameters.
conftest.py
import pyte
我使用的是Pytest,我有一个场景,其中必须调用fixtureA并在fixtureB之前分配一些东西。和A类一样,有更多的B类、C类、D类等,具有不同的数据类型,因此some_data.type不是常数!
就像这样:
@pytest.fixture(scope='module')
def fixtureB(some_data):
# this needs to happen after A.before()
some_data.some_calc_after_A()
class A:
@pytest.fixture(scope='class')
有没有人有好的方法来单元测试他们的UserTypes?
举个例子,我的模型中有一个名为DateRange的对象,它有一个DatePoint start和DatePoint end。除了使range类型的操作可用于两个DateTimes之外,这些对象还允许我调整手头任务的精度(例如,天、小时、分钟等)。当存储到我正在处理的应用程序的数据库中时,我只需要将开始和结束存储为DateTime,不允许为空。如果没有UserType,我想不出如何映射它,所以我有:
/// <summary>User type to deal with <see cref="DateRange
我用gmock模拟了一个来自对象的函数。现在我想要的是,每次调用这个函数时,它都会调用对象A的函数,传递Param作为参数。下面您可以找到代码片段
//class I want to call
class A {
public:
void func1(const Param& p) {cout<<p.name_<<endl;};
}
class Param {
public:
string name_;
}
class IMock {
public:
virtual void func2(int x) = 0;
}
class
假设我有一个类似这样的类:
class Class:
def __init__(self, data):
self.tab1 = data.A
self.tab2 = data.B
# Other methods which try to change the state of object
def add1(self, num):
self.tab1 += num
def mul2(self, num):
self.tab2 *= num
使用pytest,我尝试在完成几个操作时测试Class
我在我的许多单元测试中重复了这两条语句。
with patch('/path') as mocked_thing1:
mocked_thing1.return_value = 'some value'
with patch('/path') as mocked_thing2:
mocked_thing2.return_value = 'some value'
有没有办法为它编写一个函数,然后调用它,而不是在我的测试用例中反复写这些行呢?
我正在使用Javascript验证一个邮政编码,它是在服务器端生成的,并在单击LinkButton时注入。然后,我通过在页面加载时调用服务器端函数来检索返回值。
这工作得很好,但问题是在PostBack之后ViewState完全丢失了。下面是代码,首先是page_load事件、按钮单击事件,然后是从page_load事件调用的回调。
有没有一种方法可以保存ViewState,也许很容易保存在会话变量中?或者有没有我可以使用的变通方法?
// In Page_Load
if (Request.Form["__EVENTTARGET"] == "CallFunction
设置
假设我有conftest.py,其中定义了用于测试的资源
class ClassifyRequest:
pass
class OCRRequest:
pass
@pytest.fixture(params=[ClassifyRequest, OCRRequest])
def api_request(request):
return request.param() # return one of the request instances
然后,在test_api.py中,我使用参数化的夹具来测试服务:
def test_service(api_request