我正在尝试编写一个控制器,但在编写测试时遇到了一些问题。我在我的控制器中使用了一些来自 k8s HPA 的代码,在使用testrestmapper.基本上,在使用断点运行测试时,我看到返回了映射。当我这样做时,不会返回映射。这里发生了什么魔法?以下测试失败package mainimport ( "github.com/stretchr/testify/assert" "k8s.io/apimachinery/pkg/api/meta/testrestmapper" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/legacyscheme" "testing")func TestT(t *testing.T) { mapper := testrestmapper.TestOnlyStaticRESTMapper(legacyscheme.Scheme) gk := schema.FromAPIVersionAndKind("apps/v1", "Deployment").GroupKind() mapping, err := mapper.RESTMapping(gk) assert.NoError(t, err) assert.NotNil(t, mapping)}
1 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
我认为这是因为您缺少_ "k8s.io/kubernetes/pkg/apis/apps/install"
.
如果不导入此路径,则没有向schema
您用于获取 REST 映射的 API 组或版本注册。
通过导入路径,将注册 API 组,允许调用schema.FromAPIVersionAndKind("apps/v1", "Deployment").GroupKind()
返回有效的 GroupKind。
- 1 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消