[Zope-dev] running test.py with instance_home products.
Chris McDonough
chrism at plope.com
Wed Mar 3 01:56:41 EST 2004
On Tue, 2004-03-02 at 14:27, Dieter Maurer wrote:
> >Has anyone found a reasonable strategy for using Zope's test.py to test
> >products that are installed outside the Zope software home? I try
> >running it from the software home and using the --dir option to point it
> >to where my product is, but it tells me it can't find any tests.
>
> I do regularly.
>
> I use "... test.py --lib path_to_myProduct ..."
That didn't work (even using --libdir), it still couldn't find any tests
and I didn't try to debug. I ended up just adding the following script
as "all.py" to my Product's test dir and call it via "zopectl run
Products/MyProduct/tests/all.py". It assumes all of the test module
names start with "test" and that they're located with in the "tests"
subdirectory of the product.
product_name = "MyProduct"
from unittest import TextTestRunner, findTestCases, TestSuite
from Zope.Startup.datatypes import importable_name
from Products.Websafe.tests import testQuotaTool
from Products.Websafe.tests import testPropertiesTool
import os
import sys
here = os.path.dirname(sys.argv[0])
test_names = os.listdir(here)
test_modules = []
for name in test_names:
if name.startswith('test') and not name.endswith('pyc'):
name, ext = os.path.splitext(name)
test_modules.append(importable_name('Products.%s.tests.%s'
%(product_name, name)))
suite = TestSuite()
for module in test_modules:
suite.addTest(findTestCases(module))
runner = TextTestRunner(verbosity=2)
runner.run(suite)
More information about the Zope-Dev
mailing list