草庐IT

Test_stub

全部标签

java - Mockito Spy - 在调用构造函数之前 stub

我正在尝试监视一个对象,我想在构造函数调用它之前stub一个由构造函数调用的方法。我的类(class)看起来像这样:publicclassMyClass{publicMyClass(){setup();}publicvoidsetup(){}}不得调用设置方法。那么,我该如何监视这个方法(和stub设置以使其不执行任何操作)?它可以很好地模拟方法,但我想对MyClass进行单元测试,所以我需要非常其他的方法。之所以需要对setup方法进行stub处理,使其什么都不做:我正在为乐高机器人(lejos)编程,并在机器人需要工作的设置中放置了一些代码。但是,当我在TinyVM(安装在机器人上

java - jUnit 中每个@Test 的不同拆解

有没有办法在jUnit中为每个@Test定义不同的拆解? 最佳答案 使用@After注释来指示在每个@Test之后要运行的方法。像这样的全套注释是:@BeforeClass-在所有@Tests运行之前@Before-在每个@Test运行之前@After-在每个@Test运行之后@AfterClass-在所有@Tests运行之后我刚刚意识到我可能没有理解这个问题。如果您询问如何将特定的拆解方法与特定的@Test方法相关联,则不需要注释:只需在测试方法的末尾以finally调用它:@TestpublicvoidsomeTest(){tr

java - PowerMock:来自父类的 stub 方法

我正在使用PowerMock,我想知道如何保留子类的所有行为,但stub可能被子类覆盖的super调用。假设我有这个类:publicclassA{publicStringsomeMethod(){return"Idon'twanttoseethisvalue";}}和一个子类:publicclassBextendsA{@OverridepublicStringsomeMethod(){returnsuper.someMethod()+",butIwanttoseethisone";}}如何stub调用super.someMethod()?我试过了@Testpublicvoidtest(

python - 我可以在哪个 py.test 标注中找到 'item' 和 'report' 数据?

pytest_runtest_makereport()有两个参数,item和call。从item中,我可以找到我为这个测试创建的funcarg,从call中,我可以找到异常信息(如果有的话):defpytest_runtest_makereport(item,call):my_funcarg=item.funcargs['name']my_funcarg.excinfo=call.excinfo不幸的是,excinfo被填充用于失败和跳过。为了区分,我需要查看pytest_report_teststatus()的报告参数:defpytest_report_teststatus(repo

python - Py.Test 与配置文件

标题可能含糊不清,所以我试着在这里解释一下这个场景。我想在多个设备上测试python模块Foo。我已经创建了一个test_Foo.py文件。现在所有这些带有Foo的设备都需要不同的设置。例如,设备A需要使用参数X构建和测试Foo,而设备B需要使用参数Y构建和测试Foo。其中参数例如是设备ID。是否可以(以及如何)控制我的test_Foo.py使用配置文件。我使用YAML文件作为其他模块argparse.ArgumentParser的配置,但我想知道我可以在Py.Test中使用相同的概念。 最佳答案 您是否可以控制将用于在每个环境中调

python - py.test : hide stacktrace lines from unittest module

py.test堆栈跟踪目前看起来像这样:Traceback(mostrecentcalllast):File"/home/foo_tbz_di476/src/djangotools/djangotools/tests/ReadonlyModelTestCommon.py",line788,intest_stale_or_missing_content_typesself.assertEqual([],errors,'Stale/MissingContentTypes:%s'%'\n'.join(errors))File"/usr/lib64/python2.7/unittest/cas

python - 从命令行为 py.test 指定 fixture 参数

我想将命令行参数传递给py.test以创建fixture。例如,我想将数据库主机名传递给下面的fixture​​创建,因此它不会被硬编码:importpytestdefpytest_addoption(parser):parser.addoption("--hostname",action="store",default='127.0.0.1',help="specifyIPoftesthost")@pytest.fixture(scope='module')defdb(request):return'CONNECTEDTO['+request.config.getoption('--

python - ProgrammingError : (1146, "Table ' test_<DB>.<TABLE >' doesn' t exist") 为 Django 运行单元测试时

我正在使用Django框架运行单元测试并收到此错误。运行实际代码没有这个问题,运行单元测试会即时创建一个测试数据库,所以我怀疑问题出在那里。抛出错误的代码如下所示member=Member.objects.get(email=email_address)模型看起来像classMember(models.Model):member_id=models.IntegerField(primary_key=True)created_on=models.DateTimeField(editable=False,default=datetime.datetime.utcnow())flags=mo

python - nose2 与 py.test 隔离进程

我们一直在使用nosetest来运行和收集我们的单元测试(它们都是用我们喜欢的python单元测试编写的)。我们喜欢Nose的地方:使用标准的Python单元测试(我们喜欢这种强加的结构)。支持在xml中报告覆盖率和测试输出(对于jenkins)。我们缺少的是在隔离进程中运行测试同时保持良好错误报告的好方法(我们正在通过python测试C++库,因此段错误不应该是灾难性的)。鼻管似乎不再维护,我们遇到了一些问题。我们正在尝试弄清楚我们是否应该-修理/使用鼻管-切换到nose2并写入nosepipe2。-使用pytest或其他一些测试框架。我们更愿意使用具有良好社区的方法。看来我们的问题

python - 根据 py.test 中的参数跳过测试

我有一个带有session作用域的测试fixture,它是参数化的,例如@pytest.fixture(scope="session",params=["one","two","three"])defmyfixture():...在我的目录中,我有使用pytest.mark.usefixtures("myfixture")的文件和一个包含测试的文件应该只为myfixture运行"two"参数和py.test应该跳过它否则。有什么方法可以在py.test中实现这一点,或者我是否需要在myfixture()函数的某个类中设置一个特殊变量? 最佳答案