C++中的std.parallelism模块是否有与D' parallel()相同的特性?
要构建一个由poetry
我管理的 python 项目,我需要先构建 C 扩展(相当于python setup.py build
)。poetry
能够根据这个github 问题来做到这一点。但是对我来说pyproject.toml
,在使用poetry build
?
用例:在pytest
测试套件中@fixture
,如果缺少其配置的命令行选项,我将引发异常。我已经使用以下方法为此夹具编写了一个测试xfail
:
import pytest
from <module> import <exception>
@pytest.mark.xfail(raises=<exception>)
def test_fixture_with_missing_options_raises_exception(rc_visard):
pass
Run Code Online (Sandbox Code Playgroud)
但是,运行测试后的输出并未将测试声明为通过,而是“xfailed”:
============================== 1 xfailed in 0.15 seconds ========================
Run Code Online (Sandbox Code Playgroud)
除此之外,我无法测试是否fixture
会引发特定缺失命令行选项的异常。
有没有更好的方法来做到这一点?我可以pytest
以某种方式模拟命令行选项,我不需要通过pytest --<commandline-option-a> <test-file-name>::<test-name>
.
在独立pytest
测试用例中,我想使用断言unittest.TestCase.assertNotIn
(和unittest
其他断言),而不依赖任何uniittest
模块。使用python-assert之类的库是最佳实践吗?
我有一个Float64Index
in pandas ,想将其四舍五入到小数点后 3 位。没有类似round()
数据框的等价物。如何将 a 舍入Float64Index
到特定的浮点精度?
我已经定义了包含与枚举对应的文本选项的字段的 Django 模型。GraphQL API 提供了具有枚举类型参数的突变(不是直接从模型派生的),这些参数应仅接受与模型相同的值。我怎样才能摆脱我的重复?
模型.py:
class SomeModel(models.Model):
class SomeEnum(models.TextChoices):
A = "A", _("Option A")
B = "B", _("Option B")
enum_field = models.CharField(
max_length=1,
choices=SomeEnum.choices,
default=SomeEnum.A,
)
Run Code Online (Sandbox Code Playgroud)
架构.py:
class SomeEnumSchema(graphene.Enum):
A = "A"
B = "B"
class SomeMutation(graphene.Mutation):
class Arguments:
some_enum = SomeEnumSchema(required=True)
Run Code Online (Sandbox Code Playgroud) 我使用builds()
and创建了自定义假设策略@composite
(设计灵感来自文档中的这个示例)。这些策略的设计类似于下面的伪代码:
# strategies.py
from hypothesis.strategies import builds, composite, draw, floats, integers
class SutConfiguration:
""" Data which represents the configuration of the system under test. """
def __init__(self, integer, float):
self.integer = integer
self.float = float
# custom strategy which uses builds()
SutConfigurationStrategy = builds(
SutConfiguration,
integer=integers(min_value=APP_SPECIFIC_INT_MIN, max_value=APP_SPECIFIC_INT_MAX),
float=floats(min_value=APP_SPECIFIC_FLOAT_MIN, max_value=APP_SPECIFIC_FLOAT_MAX),
)
@composite
def overall_test_configuration(draw, sut_st=SutConfigurationStrategy, env_st=SutEnvironmentStrategy):
"""Custom strategy which uses draw."""
sut_config = draw(sut_st)
env_config = draw(env_st)
return (sut_config, rc_stereomatching_config, env_config)
Run Code Online (Sandbox Code Playgroud)
该策略照常使用unittest
,例如用作测试运行器:
# …
Run Code Online (Sandbox Code Playgroud) 我想根据传递给“调度”函数(例如使用)的参数的数据类型来调度 Python 函数(例如使用dict 方法isinstance()
)。是否有实施替代方案?最简单的方法是什么?
我正在使用我的 Django 应用程序进行负载测试,该应用程序使用 Django 通道和 redis 通道层(django
、graphene-django
、channels
、graphene-subscriptions
、channels-redis
)提供 GraphQL 订阅。作为我现在使用的 ASGI 服务器daphne
。我nginx
用作代理。后端通过 GraphQL 订阅发布消息的周期取决于后端通过 MQTT 接收的消息的周期。我正在增加外部数据提供者向 MQTT 代理发布消息的周期,这意味着后端必须处理这些消息并通过 GraphQL 订阅发布消息的周期。我面临以下错误:
2020-03-11 08:33:58,464 ERROR 2 of 12 channels over capacity in group subscriptions
Run Code Online (Sandbox Code Playgroud)
这个问题似乎是由channels_redis引起的。我可以扩展基础设施来解决这个问题吗?
根据pytest
测试运行的总体测试结果,我要执行条件拆卸。这意味着必须在执行完所有测试之后但离开测试运行程序之前,才能访问总体测试结果。我该如何实现?
我想创建一个基于 Django 的后端,提供一个仅使用django-rest-framework的 API 。管理界面是我最终用户需要的唯一可视化界面。API 应由 JS 前端使用/集成。后端由几个部分组成类似的配置,可视化等。根据设计我会首先创建一个Django项目的最佳实践my_project
与django-admin startproject my_project .
和每个部分与添加应用程序python manage.py startapp configuration
,python manage.py startapp visualization
等等(在Django的休息框架快速入门产生有一个 Django 应用程序。)
对我来说,我不清楚如何采用 Django 设计最佳实践,将应用程序用于基于 RESTful API 的 JS 前端集成。如果我想将后端与 JS 前端集成,我应该如何构建我的代码库?我是否应该创建应用程序configuration
、visualization
...(我不创建基于模板的视图)并使用单个 RESTful API 定义相应的模型。我应该在哪里放置与项目结构相关的 API 源代码?我应该如何将 API 映射到模型?
python ×8
django ×3
pytest ×3
testing ×2
c++ ×1
d ×1
daphne ×1
graphql ×1
nginx ×1
pandas ×1
python-2.7 ×1
python-3.x ×1
python-c-api ×1