Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行CKAN核心测试_Ckan - Fatal编程技术网

运行CKAN核心测试

运行CKAN核心测试,ckan,Ckan,我正在尝试运行CKAN测试,但它不起作用 我的配置(本地docker设置,因此凭证显示正常)位于 我确信我的postgreSQL、Redis和Solr设置正确 我可以看到这些测试都通过了,所以我很困惑 以下是我的测试日志: (default)root@b13dc1f03f32:/usr/lib/ckan/default/src/ckan# nosetests --with-pylons=$CKAN_INI -x 2017-09-12 08:38:39,831 INFO [ckan.config

我正在尝试运行CKAN测试,但它不起作用

我的配置(本地docker设置,因此凭证显示正常)位于

我确信我的postgreSQL、Redis和Solr设置正确

我可以看到这些测试都通过了,所以我很困惑

以下是我的测试日志:

(default)root@b13dc1f03f32:/usr/lib/ckan/default/src/ckan# nosetests --with-pylons=$CKAN_INI -x
2017-09-12 08:38:39,831 INFO  [ckan.config.environment] Loading static files from public
2017-09-12 08:38:39,860 INFO  [ckan.config.environment] Loading templates from /usr/lib/ckan/default/src/ckan/ckan/templates
2017-09-12 08:38:40,044 INFO  [ckan.config.environment] Loading templates from /usr/lib/ckan/default/src/ckan/ckan/templates
2017-09-12 08:38:40,158 INFO  [ckan.model] Database tables created
2017-09-12 08:38:40,158 INFO  [ckan.websetup] Creating tables: SUCCESS
.2017-09-12 08:38:40,958 INFO  [ckan.config.environment] Loading templates from /usr/lib/ckan/default/src/ckan/ckan/templates
F
======================================================================
FAIL: ckan.tests.config.test_environment.TestSiteUrlMandatory.test_missing_siteurl
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/lib/ckan/default/src/ckan/ckan/tests/helpers.py", line 389, in wrapper
    return func(*args, **kwargs)
  File "/usr/lib/ckan/default/src/ckan/ckan/tests/config/test_environment.py", line 90, in test_missing_siteurl
    nosetools.assert_raises(RuntimeError, environment.update_config)
AssertionError: RuntimeError not raised

----------------------------------------------------------------------
Ran 2 tests in 1.564s

FAILED (failures=1)

非常感谢任何指点

一些CKAN配置选项可以通过环境变量进行设置,例如作为Docker容器运行时

这些特定的测试没有考虑到这一点,只会检查站点url是否直接在config对象中设置,所以这就是为什么它们通过本地安装,但在容器中失败的原因

要使它们更健壮,需要使它们忽略环境变量中的设置:

diff --git a/ckan/tests/config/test_environment.py b/ckan/tests/config/test_environment.py
index fafe701..16f1895 100644
--- a/ckan/tests/config/test_environment.py
+++ b/ckan/tests/config/test_environment.py
@@ -85,6 +85,15 @@ class TestUpdateConfig(h.FunctionalTestBase):

 class TestSiteUrlMandatory(object):

+    @classmethod
+    def setup_class(cls):
+        cls._site_url_from_env_var = os.environ.pop('CKAN_SITE_URL', None)
+
+    @classmethod
+    def teardown_class(cls):
+        if cls._site_url_from_env_var:
+            os.environ['CKAN_SITE_URL'] = cls._site_url_from_env_var
+
     @helpers.change_config('ckan.site_url', '')
     def test_missing_siteurl(self):
         nosetools.assert_raises(RuntimeError, environment.update_config)
请随时提交请求,以帮助改进上游测试。

这是我的postgres日志(一些可疑行)