[
https://issues.apache.org/jira/browse/BEAM-8951?focusedWorklogId=370727&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-370727
]
ASF GitHub Bot logged work on BEAM-8951:
----------------------------------------
Author: ASF GitHub Bot
Created on: 13/Jan/20 12:00
Start Date: 13/Jan/20 12:00
Worklog Time Spent: 10m
Work Description: kamilwu commented on pull request #10435: [BEAM-8951]
Stop using nose in load tests
URL: https://github.com/apache/beam/pull/10435#discussion_r365767789
##########
File path: sdks/python/apache_beam/testing/load_tests/load_test.py
##########
@@ -18,18 +18,65 @@
import json
import logging
-import unittest
from apache_beam.metrics import MetricsFilter
from apache_beam.testing.load_tests.load_test_metrics_utils import
MetricsReader
from apache_beam.testing.test_pipeline import TestPipeline
-class LoadTest(unittest.TestCase):
- def parseTestPipelineOptions(self, options=None):
+class LoadTest(object):
+ def __init__(self):
Review comment:
No particular benefit. Because `LoadTest` is no longer a subclass of
`unittest.TestCase`, I had to move this code somewhere. And the reasons why I
stopped using `unittest.TestCase` are:
- We had to prevent load tests from being included in other test suites and
that's why `LOAD_TEST_ENABLED` guard was used. Now the guard is no longer
needed,
- `tearDown()` was actually used to run a pipeline, which was misleading, as
tearDown is supposed only to clean up resources after test execution,
- Without nose or pytest, it is difficult to pass extra command-line
arguments.
To sum up, I think `unittest` doesn't suit our needs here and can be easily
replaced with plain Python classes.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 370727)
Time Spent: 7h 10m (was: 7h)
> Stop using nose in load tests
> -----------------------------
>
> Key: BEAM-8951
> URL: https://issues.apache.org/jira/browse/BEAM-8951
> Project: Beam
> Issue Type: Sub-task
> Components: testing
> Reporter: Kamil Wasilewski
> Assignee: Kamil Wasilewski
> Priority: Major
> Fix For: Not applicable
>
> Time Spent: 7h 10m
> Remaining Estimate: 0h
>
> The community is considering moving away from nose to pytest:
> https://issues.apache.org/jira/browse/BEAM-3713. We should change the way of
> running Python load tests: instead of being subclasses of
> `unittest.TestCase`, they could be plain Python scripts, just like wordcount
> examples. This will bring one additional benefit: _LOAD_TEST_ENABLED_ guard
> will be no longer needed and could be safely removed
--
This message was sent by Atlassian Jira
(v8.3.4#803005)