首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行CKAN核心测试

运行CKAN核心测试
EN

Stack Overflow用户
提问于 2017-09-12 16:44:54
回答 1查看 87关注 0票数 1

我正在试着运行CKAN测试,但它不工作。

我的配置(本地docker设置,所以凭证显示很好)是在https://gist.github.com/lwm/cd33556fb18d9b8395209cb6233d75af

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

我可以看到这些测试都是在CKAN HEAD上通过的,所以我很困惑。

以下是我的测试日志:

代码语言:javascript
复制
(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)

任何指针都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2017-09-12 18:31:13

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

这些特殊的测试没有考虑到这一点,只会检查是否直接在config对象中设置了站点url,所以这就是它们传入本地安装并在容器中失败的原因。

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

代码语言:javascript
复制
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)

请随时提交拉取请求,以帮助改进上游测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46171820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档