假设您只使用Autobahn连接(不是原始WebSocket).
我们如何测试没有网络,我们的RPC方法和事件?
由于它是Twisted,我认为最合适的工具是Twisted Trial.
但我无法弄清楚如何编写这些测试,而不需要编写大量的样板代码并重新使用Autobahn的内部实现(甚至我不确定我是否能够这样做).
你会怎么做?
我有一个任务foobar:
@app.task(bind=True)
def foobar(self, owner, a, b):
if already_working(owner): # check if a foobar task is already running for owner.
register_myself(self.request.id, owner) # add myself in the DB.
return a + b
Run Code Online (Sandbox Code Playgroud)
如何模拟self.request.id属性?我已经在修补所有内容并直接调用任务而不是使用.delay/.apply_async,但 的价值self.request.id似乎是None(因为我正在与数据库进行真正的交互,它使测试失败等......)。
作为参考,我使用Django作为框架,但我认为这个问题是一样的,不管你使用的是什么环境。
我正在尝试制作一个CSS tetrahedron,所以我通过做一些 CSS3 三角形并使用透视属性激活 3D 转换来解决这个问题。
但是我有一些问题需要考虑所有转换,这是我的一些代码:
.navbar-brand-logo {
width: 64px;
height: 64px;
transform-style: preserve-3d;
perspective: 600px;
position: relative;
}
.face {
width: 0;
height: 0;
position: absolute;
border-style: solid;
border-width: 64px 32px 0 32px;
transform-origin: 0 0;
border-color: transparent transparent transparent rgba(50, 50, 50, 0.6);
}
.logo-base-left {
transform: rotateX(180deg) translateY(-64px);
}
.logo-base-right {
transform: rotateY(180deg) rotateX(180deg) translateY(-64px);
}
.logo-up {
border-color: transparent transparent transparent rgba(50, 50, 50, 0.8);
transform: rotateY(180deg) scaleY(0.5) translateY(-64px);
}
.logo-down-up {
border-color: …Run Code Online (Sandbox Code Playgroud)