所以,我有一个 python 项目,我的所有测试都在其中运行,但我这样做了:
conda install -y conda-pack
当我运行时成功:
conda-pack
我收到一条很长的抱怨:
Collecting packages...
CondaPackError:
Files managed by conda were found to have been deleted/overwritten in the
following packages:
- conda-pack 0.6.0:
lib/python3.1/site-packages/conda_pack-0.6.0.dist-info/INSTALLER
lib/python3.1/site-packages/conda_pack-0.6.0.dist-info/LICENSE.txt
lib/python3.1/site-packages/conda_pack-0.6.0.dist-info/METADATA
+ 19 others
- types-requests 2.26.0:
lib/python3.1/site-packages/requests-stubs/METADATA.toml
lib/python3.1/site-packages/requests-stubs/__init__.pyi
lib/python3.1/site-packages/requests-stubs/adapters.pyi
+ 41 others
- jsonschema 4.2.1:
lib/python3.1/site-packages/jsonschema-4.2.1.dist-info/COPYING
lib/python3.1/site-packages/jsonschema-4.2.1.dist-info/INSTALLER
lib/python3.1/site-packages/jsonschema-4.2.1.dist-info/METADATA
+ 39 others
- types-setuptools 57.4.2:
lib/python3.1/site-packages/pkg_resources-stubs/METADATA.toml
lib/python3.1/site-packages/pkg_resources-stubs/__init__.pyi
lib/python3.1/site-packages/pkg_resources-stubs/py31compat.pyi
+ 56 others
<snip>
Run Code Online (Sandbox Code Playgroud)
我没有发现任何问题,conda list并且仍然可以运行测试。我认为我的环境没有问题。有想法吗?
创建一个在重复调用时返回不同值的存根似乎很简单: 是否可以在单个测试中对方法进行两次存根以返回不同的结果?
但是,我如何使用解析多个调用的异步方法来做到这一点?
sinon(module, "myFunction")
.resolves('a')
.resolves('b')
Run Code Online (Sandbox Code Playgroud)
需要明确的是,在上面的片段中,第二个解析会覆盖第一个,因此它总是返回“b”。我想要“myFunction”首先解析“a”然后解析“b”的行为。
我似乎无法找到有关此语言功能的更多信息,您可以在case其中放入map像这样的内容:
val sVersion = CrossVersion.partialVersion(scalaVersion)
.map { case (major:Long, minor: Long) => s"_$major.$minor" } getOrElse ""
Run Code Online (Sandbox Code Playgroud)
我已经开始使用这种语法,但它叫什么?在哪里可以找到更多有关它的信息?
这看起来很简单:
val uuids = repeat(5) { UUID.randomUUID() } // doesn't work as desired
Run Code Online (Sandbox Code Playgroud)
但我需要使用 mutableList 并使用返回 Unit 的各种循环之一。或这个:
val uuids = (1..5).map { UUID.randomUUID() }
Run Code Online (Sandbox Code Playgroud)
Kotlin 遗漏了循环表达式的构造,这似乎很奇怪。我错过了什么?如果没有,为什么我不认为 Kotlin 是一种没有它们的函数式语言?这是未来的物品吗?