我有一个大的conftest.py文件,我希望将其分成更小的部分,原因有两个:
我不知道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)
这适用于我的需求,但我想知道是否有更好的方法.
我正在尝试使用卷共享在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共享主机环境变量?
我想知道如何属性引用外部 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 中)或只是从本地文件系统中引用。