小编alk*_*ity的帖子

将conftest.py文件拆分为几个较小的类似conftest的部分

我有一个大的conftest.py文件,我希望将其分成更小的部分,原因有两个:

  1. 文件非常大(~1000行,包括文档)
  2. 一些灯具依赖于其他灯具,当用户寻找相关灯具时,我没有理由将这些其他灯具作为conftest"API"的一部分曝光

我不知道pytest提供的任何机制来解决同一文件夹中多个位置的conftest文件,所以我设计了一个,如下:

import sys
import os


sys.path.append(os.path.dirname(__file__))


from _conftest_private_part_1 import *
from _conftest_private_part_2 import *
from _conftest_private_part_3 import *


@pytest.fixture
def a_fixture_that_is_part_of_the_public_conftest_api():
    pass
Run Code Online (Sandbox Code Playgroud)

这适用于我的需求,但我想知道是否有更好的方法.

python pytest

16
推荐指数
2
解决办法
4104
查看次数

使用特定UID在主机系统和docker容器之间共享文件

我正在尝试使用卷共享在Docker guest中共享文件.为了获得相同的UID,以及与这些文件的互操作性,我想在Docker guest中创建一个用户,其用户名与我自己的用户相同.

为了测试这个想法,我编写了以下简单的Dockerfile:

FROM phusion/baseimage

RUN touch /root/uid-$UID
Run Code Online (Sandbox Code Playgroud)

测试它,docker build -t=docktest .然后docker run docktest ls -al /root显示文件只是命名uid-.

有没有办法在来宾构建过程中与Docker共享主机环境变量?

docker

14
推荐指数
2
解决办法
8783
查看次数

引用外部原型,如 google/rpc/status.proto

我想知道如何属性引用外部 proto 文件。假设我有一个 .proto 文件,它引用了标准的 protobuf 类型,例如Timestamp

syntax = "proto3";
package api;

import "google/protobuf/timestamp.proto";

message ServerTimeResponse {
  google.protobuf.Timestamp ts = 1;
}
Run Code Online (Sandbox Code Playgroud)

简单。编译时时间戳自动可用。

现在我添加一个外部类型,比如google.rpc.Status

syntax = "proto3";
package api;

import "google/protobuf/timestamp.proto";
import "google/rpc/status.proto";

message ServerTimeResponse {
  google.protobuf.Timestamp ts = 1;
  google.rpc.Status status = 2;
}
Run Code Online (Sandbox Code Playgroud)

当然,我们必须告诉protoc如何通过-I/找到该文件所在的位置--proto_path

我的问题是:实际引用此文件的最佳实践是什么,尤其是让版本控制满意?go modprotobufs似乎没有等价物。我已经看到它逐字复制到项目中(例如在grpc-gateway 中)或只是从本地文件系统中引用。

protocol-buffers

5
推荐指数
1
解决办法
1552
查看次数

标签 统计

docker ×1

protocol-buffers ×1

pytest ×1

python ×1