小编sam*_*rko的帖子

是否可以在 Scala 中模拟/覆盖依赖项/导入?

我有一些看起来像这样的代码:

package org.samidarko.actors

import org.samidarko.helpers.Lib

class Monitoring extends Actor {

  override def receive: Receive = {
    case Tick =>
       Lib.sendNotification()
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法像使用nodejs的 proxyquire一样从ScalaTest模拟/存根Lib

我读到我可以使用依赖注入,但我宁愿不这样做

我唯一的选择是将我的 lib 作为类参数传递吗?

class Monitoring(lib: Lib) extends Actor {
Run Code Online (Sandbox Code Playgroud)

有什么建议可以使它更易于测试吗?谢谢

编辑:

Xavier Guihot的答案是一个有趣的问题方法,但我选择更改代码以进行测试。

我正在传递Libas 参数并使用mockito 进行模拟,它使代码更易于测试和维护,而不是隐藏作用域。

unit-testing scala mocking scalatest scalamock

6
推荐指数
1
解决办法
2081
查看次数

如何使用Django 1.6与appengine dev_appserver.py +不支持第三个库

我正在尝试为将在GAE上托管的Django应用程序设置本地环境

  • 我的第一个问题:我不能在app.yaml中询问Django 1.6(不支持)所以我切换到"最新"版本,但我不确定这样做会得到什么?

  • 我的第二个:我想使用一些额外的库,如"django-taggit".我在项目中创建了一个"libs"目录,我复制了"taggit"目录.我首先添加了PYTHONPATH的绝对路径,然后我将它移动到PATH,然后在wsgi.py中尝试使用sys.path.append,但是当我运行dev_appserver.py时,我一直有导入错误(ImportError:没有名为taggit的模块) ?

是我还是缺乏关于我想做什么的文件?我花了很多时间谷歌搜索没有明确的结果.当您使用webapp2遵循谷歌方式时,一切似乎微不足道,但如果不遵循谷歌方式则更加复杂.GAE是Django托管的正确选择吗?

感谢您的帮助和建议.

django google-app-engine

5
推荐指数
2
解决办法
1916
查看次数

Kubernetes PersistentVolumeClaim 不受约束

我有一个 Kubernetes 启动并在 AWS 上正常运行。

我正在尝试部署此示例应用程序。我可以在docker-compose up没有任何问题的情况下在本地运行该项目

我使用https://github.com/kubernetes-incubator/kompose将其部署在 Kubernetes 上。它有效,但是当我检查豆荚时,出现以下错误:

[SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "web-claim0", which is unbound., SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "web-claim0", which is unbound., SchedulerPredicates failed due to PersistentVolumeClaim is not bound: “web-claim0”,这是出乎意料的。]

我想在 2 个容器之间共享一个卷而不设置aws-ebs. 是否可以?我想从尽可能简单的卷共享开始。

这是音量配置


Persistent Volume Claim     {5}

kind    :   PersistentVolumeClaim

apiVersion  :   v1

    metadata        {6}

name    :   web-claim1

namespace   :   default

selfLink    :   /api/v1/namespaces/default/persistentvolumeclaims/web-claim1

uid :   a94c38da-de18-11e6-84b6-027fd28089d4 …
Run Code Online (Sandbox Code Playgroud)

kubernetes docker-compose

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