草庐IT

final_test

全部标签

java - 为什么 Java 8 Optional 实现为 final,没有 Some 和 None 层次结构?

在Java中,Optional实现为publicfinalclassOptional{...}而不是作为Some的密封层次结构和None.为什么这里不是这种情况?这是缺少sealed的解决方法吗?在java?是否有更深层次的原因?如果你看一下方法实现,你会发现通过这种方式,它具有丑陋的空检查功能:publicOptionalmap(Functionmapper){Objects.requireNonNull(mapper);if(!isPresent())returnempty();else{returnOptional.ofNullable(mapper.apply(value));

java - 在 Java 运行时添加 final 修饰符

这听起来可能有点奇怪,但是否可以在运行时添加final修饰符?我有一个标记为publicstaticint/short的变量。在某些时候,我想防止更改它的值,并且我想将其可访问性保持为标准静态值(ClassName.field)。publicclassMain{privatestaticinta=0;publicstaticvoidaddFinalMod(Fieldf){FieldmodifiersField=null;try{modifiersField=Field.class.getDeclaredField("modifiers");}catch(NoSuchFieldExcep

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()函数的某个类中设置一个特殊变量? 最佳答案

python - 错误 : Test failed: 400 (InvalidToken): The provided token is malformed or otherwise invalid

s3cmd通过运行从epel-testing仓库安装:yum--enablerepoepel-testinginstalls3cmd然后我用s3cmd--configure调用了配置工具,但我得到了这个错误:Testaccesswithsuppliedcredentials?[Y/n]Pleasewait,attemptingtolistallbuckets...ERROR:Testfailed:400(InvalidToken):Theprovidedtokenismalformedorotherwiseinvalid.Invokedas:/usr/bin/s3cmd--config