我有一些看起来像这样的代码:
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 进行模拟,它使代码更易于测试和维护,而不是隐藏作用域。
我正在尝试为将在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托管的正确选择吗?
感谢您的帮助和建议.
我有一个 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)