小编drg*_*rgn的帖子

Pycharm和unittest不起作用

我有PYCharm 3.0.1的问题我无法运行基本的单元测试.

这是我的代码:

import unittest from MysqlServer import MysqlServer


class MysqlServerTest(unittest.TestCase):


    def setUp(self):
        self.mysqlServer = MysqlServer("ip", "username", "password", "db", port)


    def test_canConnect(self):
        self.mysqlServer.connect()
        self.fail()


if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

这是pycharm给我的所有东西

无法将测试报告者附加到测试框架或测试框架意外退出

也说

AttributeError: class TestLoader has no attribute '__init__'
Run Code Online (Sandbox Code Playgroud)

事件日志:

2:14:28 PM Empty test suite
Run Code Online (Sandbox Code Playgroud)

问题是我手动运行python文件(使用pycharm,作为脚本)

----------------------------------------------------------------------
Ran 1 tests in 0.019s

FAILED (failures=1)
Run Code Online (Sandbox Code Playgroud)

这是正常的我让测试失败了.我对这里发生的事情有点了解更多信息:设置 - > Python集成工具 - >包需求文件:/ src/test默认测试运行器:Unittests pyunit 1.4.1已安装

谢谢你的帮助.

编辑:unitests.py的基本用法也是如此

import unittest


class IntegerArithmenticTestCase(unittest.TestCase):
def testAdd(self):  ## test method names begin 'test*'
    self.assertEquals((1 + 2), …
Run Code Online (Sandbox Code Playgroud)

python pycharm python-unittest

19
推荐指数
4
解决办法
2万
查看次数

如何使用maven和fatjar插件将一个SINGLE依赖项包含到jar中

我觉得这个问题有点愚蠢,但我无法弄清楚如何将SINGLE依赖(jdom.jar)添加到另一个jar中.

上下文:我们为我们的应用程序开发了一个简单的插件,这个插件有许多依赖性.我们使用fatjar将jdom.jar包含在其中.我正在尝试修复此插件中的错误,所以我决定同时"maven-ize".(我们刚刚切换到maven)这个插件加载到运行时,因此我们想要打包的唯一依赖项是jdom.jar.

问题:我发现有一个maven fatjar插件!不幸的是我找不到任何文档,这个maven插件将每个依赖项添加到输出jar中.经过多次尝试,我决定放弃这个fatjar插件并搜索另一个插件.我找到了一个罐子,阴影,但在快速阅读它们后,他们看起来像是添加了每一个依赖.

问题:将jdom.jar添加到我的插件jar中的简单方法是这样的:

-MyPlug-in.jar
|
|-src
 |-main
  |-java
   |-*.java
|-jdom.jar

另外我不想改变清单或输出jar文件名

非常感谢你的时间.

uberjar maven

8
推荐指数
1
解决办法
5044
查看次数

通过VPC端点的AWS专用API网关

首先,我对AWS非常陌生。这是我想要实现的目标:

  • 1个VPC
    • 2个子网
      • 1个包含某些EC2实例的公共
      • 1个私有,其中包含只能由EC2实例访问的API网关

公共子网运行良好,我可以访问SSH和HTTP。专用子网给我带来了一些麻烦。为了调试,我在其中启动了一个EC2实例。从一个“公共实例”中,我可以ping通“私有实例”的私有IP(显然没有公共IP)

根据文档,我在我的专用子网中创建了一个VPC端点,该端点创建了一个网络接口,在该接口中,我附加了一个安全组,该安全组允许整个VPC CIDR中的HTTP(S)(80和443)。端点类型为接口

所以,现在我有了一个带有允许HTTP(S)流量的端点的专用子网。该终结点具有一些(私有)DNS NAME,并且(可能)还有一个私有IP(找不到)

现在,我想添加一个API网关来添加一些AWS lambda。我创建了所说的API并作为端点类型->私有

遵循以下步骤:官方文档 将API网关“链接”到VPC端点的“唯一”方法是添加资源策略。所以我输入以下内容

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Deny",
        "Principal": "*",
        "Action": "execute-api:Invoke",
        "Resource": "arn:aws:execute-api:<REGION>:<MY ID>:<API GATEWAY ID>/*/*/<MY RESOURCE>",
        "Condition": {
            "StringNotEquals": {
                "aws:sourceVpce": "<VPC ENDPOINT ID>"
            }
        }
    },
    {
        "Effect": "Allow",
        "Principal": "*",
        "Action": "execute-api:Invoke",
        "Resource": "arn:aws:execute-api:<REGION>:<MY ID>:<API GATEWAY ID>/*/*/<MY RESOURCE>"
    }
]
Run Code Online (Sandbox Code Playgroud)

}

为了完整起见,这里是我的lambda(python3.6):

from __future__ import division
def lambda_handler(event, context):
  return {
      "statusCode":200,
      "headers": {"Content-Type": "application/json" },
      "body" : "It work!"
  } …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-api-gateway

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