小编Nim*_*iat的帖子

为单元测试编写模拟是否应该在单独的提交中?

提交没人使用的代码是一个坏主意,因为审查者很难理解为什么要写它,也很难知道代码是否正确。

正如我在 TDD 中编写的那样,在编写代码逻辑之前,我编写了单元测试。
测试有时依赖于新的模拟,它的第一个(也是唯一的)用途是测试。应用上述原则,我不想自己提交模拟。因此,我最终在同一次提交中提交了单元测试和模拟。

这使得提交相当长,并且模拟并不像是其中的一部分。将它们放在不同的提交中会好得多(甚至可能让不同的开发人员对其进行审查,后者更了解模拟代码)。

我知道这个设计问题可能是一个品味问题,但我是 TDD 的新手,并且觉得可能有一个解决方案比另一个更正确。
任何输入将不胜感激。

git tdd unit-testing mocking

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

Kubernetes 网络策略拒绝所有策略不会阻止基本通信

我正在运行 GKE 集群版本 1.17.13-gke.1400。

我在我的集​​群中应用了以下网络策略 -

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress
Run Code Online (Sandbox Code Playgroud)

这应该阻止与默认命名空间上的 Pod 之间的所有通信。然而,事实并非如此。从这个测试中可以明显看出 -

$ kubectl run p1 -it  --image google/cloud-sdk
root@p1:/# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=114 time=1.14 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=114 time=1.21 ms
^C
root@p1:/# curl www.google.com 
<!doctype html><html itemscope=" ...
Run Code Online (Sandbox Code Playgroud)

文档看来,这个应用程序应该非常简单。任何帮助理解我做错了什么,或进一步故障排除的提示,将不胜感激。

谢谢,宁录,

kubernetes google-kubernetes-engine kubernetes-networkpolicy

3
推荐指数
1
解决办法
637
查看次数