我正在尝试将单元测试添加到我的项目中。其中一些测试正在检查对象列表是否不包含对象。为了检查列表是否包含我尝试过的对象Assert.Contains(MyList, ExpectedObject),但它仍然给出一个错误,指出该列表不包含该对象。即使当我调试测试时,我也可以看到该对象已正确添加到列表中。
同样的情况也发生在Assert.DoesNotContain(MyList, ExpectedObject). 当我从列表中删除一个项目并执行此检查时,它确实说它不在列表中。但是当我不再删除该项目时,它仍然说它不再在列表中。尽管它仍然在列表中。
当我尝试使用测试列表时:List<string>. 并执行添加和删除项目的相同操作,然后检查这些项目是否在列表中。它确实有效。也许Assert.Contains不适用于对象列表。但编译器不会给出任何错误。我还已经检查过它是否ExpectedObject与列表中的对象类型相同。
是否有另一种方法来检查对象是否在列表中。任何帮助表示赞赏。
我想用我的管道运行我的 Jupyter 笔记本。为此,我需要runipy。要在 gitlab runner 上安装 runipy,我需要 python。但是当我想运行 .gitlab-ci.yml 脚本时,它会卡在打印 python 版本上,因为 python 无法识别。
.gitlab-ci.yml:
image: python:3.9
before_script:
- python -V
- pip install runipy
Run Code Online (Sandbox Code Playgroud)
错误:
Running with gitlab-runner 13.3.1 (738bbe5a)
on JavaUnitTestRunner vr_SgzNd
Preparing the "shell" executor
00:00
Using Shell executor...
Preparing environment
00:01
Running on DESKTOP-DJVC49J...
Getting source from Git repository
00:03
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in C:/Gitlab-Runner/builds/vr_SgzNd/0/I438220/pharma/.git/
Checking out 65a225c0 as pipeline...
git-lfs/2.9.2 (GitHub; windows amd64; go …Run Code Online (Sandbox Code Playgroud)