[ 
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:
us...@infra.apache.org


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)

Reply via email to