<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                pytest 是一個用于 Python 的強大的測試框架。它支持功能測試、單元測試和模擬等測試需求,通常與 Flask(輕量級的 Python web 框架)一起使用。 ## pytest 特點 * 入門簡單,文檔豐富 * 支持參數化,可以從教細的力度控制測試用例 * 能夠支持簡單的單元測試和復雜的功能測試 * 支持測試跳過,失敗case標記 * 支持失敗重試 * 支持由nose,unittest編寫的測試用例 * 支持HTML報告,eport框架----allure 也支持了pytest * 和jenkins持續集成很方便 * 具有很多第三方插件,并且可以自定義擴展 ## pytest 測試用例設計原則 * 所有的包必須要有__init__.py文件 * 文件名必須以*_test.py或者test_*.py命名 * 測試類必須以Test開頭,并且不能包含__init__方法 * 測試函數必須以test開頭 * 測試類里以test_開頭的方法 ## pytest + allure 測試報表 ## allure-behave 通過指定`allure_behave.formatter:AllureFormatter`作為格式化器和輸出目錄,來運行`behave`: ``` behave -f allure_behave.formatter:AllureFormatter -o %allure_result_folder% ./features ``` * 將測試結果存放在`%allure_result_folder%`中,而不是直接生成報告。 然后通過 Allure 命令行(需要另外安裝)來生成報告: ``` allure serve %allure_result_folder% ``` 這將會生成本地的 Allure 報告,并自動在默認瀏覽器中打開。 另外,需要注意的是,Allure 提供了很多額外的功能(例如添加附件、與測試用例關聯的問題等),要利用這些功能,你需要在你的步驟定義中使用 Allure 的 Python 庫 (`allure-python-commons`) 提供的裝飾器和函數。 ## allure Allure 是一款開源的測試報告生成工具,可以生成清晰、形象的測試報告,以可視化的形式展示測試執行結果。Allure 內置了許多特性,如測試案例追蹤、測試時長趨勢、失敗情況分析等。 安裝并使用 Allure 的過程如下: 1. **安裝 Allure**:首先需要在電腦上安裝 Allure。如果你使用的是 macOS,可以通過 Homebrew 安裝: ~~~ bashCopy codebrew install allure ~~~ For Windows, you can download it from the Allure Framework's GitHub page and add it to your path. 2. **生成 Allure 結果**:在你的測試框架里進行設置,使其在運行測試時能生成 Allure 原始結果。這需要額外的插件或庫。例如,如果你使用的是 pytest,你需要安裝`pytest-allure-adaptor`插件: ~~~ pip install pytest-allure-adaptor ~~~ 并在運行 pytest 時用`--alluredir`參數指定結果輸出的目錄: ~~~ pytest --alluredir=result_directory ~~~ 3. **生成報告**:使用 Allure 命令行工具處理輸出的結果,并生成 HTML 格式的報告: ~~~ allure serve result_directory ~~~ 這條命令將啟動一個本地 Web 服務器,自動打開瀏覽器顯示生成的報告。你可以看到各種可視化的統計信息,覆蓋率,失敗的用例等。 注意,使用 Allure 可能需要你稍微改變寫測試用例的方式,以便提供更多測試細節。例如,你需要增加一些注解來提供測試步驟的描述或測試案例的元數據。 ## Allure 是一種易于生成的、易于閱讀的測試報告框架。它支持多種測試工具和庫,并以跨平臺的可視化方式展示測試結果。下面我們來看看 要查看 Allure 報告,請安裝 Allure 命令行工具,并使用`allure serve`命令 (如`allure serve %allure_result_folder%`) 生成報告。報告將在默認瀏覽器中打開,展示你的測試結果和相關詳細信息。 ## ### pytest + Allure 以 pytest 為例,你可以通過下面的方式使用 Allure: 安裝 Allure: Allure 命令行工具可以通過以下方式獲取: 對于 macOS 系統,可以使用 Homebrew 進行安裝: bash Copy code brew install allure 對于 Windows 系統,可以下載安裝包并正確設置環境變量,詳見 Allure Framework 官網安裝指南。 安裝pytest插件: 你需要在 Python 項目中安裝 pytest-allure-adaptor 插件: bash Copy code pip install allure-pytest 運行測試并生成報告: 運行 pytest 時,加上 --alluredir 參數,指定一個目錄來存儲測試結果: bash Copy code pytest --alluredir=/path/to/results/directory 當測試運行完成后,用 Allure 命令行工具生成報告: bash Copy code allure serve /path/to/results/directory 這將會在默認瀏覽器中打開一份詳細的測試報告,包括測試覆蓋率、失敗的測試以及它們的堆棧跟蹤等信息. 如果你使用的是其他測試框架,你也可以找到相應的 Allure 插件或庫來生成測試報告。注意,使用 Allure 可能需要你改變一些測試寫法,以便提供更多測試細節(例如,增加裝飾器來標注用例的優先級和嚴重程度、增加步驟的描述等)。 ## pytest 如何輸出 在 Python 中,可以以多種方式連接(或拼接)字符串。以下是幾種常見的字符串連接方法: 1. 使用加號 (+) 操作符: ~~~ pythonCopy codestring1 = "Hello" string2 = "World" result = string1 + " " + string2 # 結果將是 "Hello World" ~~~ 2. 使用 join() 方法: ~~~ pythonCopy codestrings = ["Hello", "World"] result = " ".join(strings) # 結果將是 "Hello World" ~~~ `join()`是非常有效的方法,尤其是當你有許多字符串需要連接時。 3. 使用格式化字符串 (f-string,Python 3.6+): ~~~ pythonCopy codename = "World" result = f"Hello {name}" # 結果將是 "Hello World" ~~~ 4. 使用格式化方法 format(): ~~~ pythonCopy coderesult = "{} {}".format("Hello", "World") # 結果將是 "Hello World" ~~~ 5. 使用百分號 (%) 格式化(不建議使用,因為它是較舊的格式化方法): ~~~ pythonCopy coderesult = "%s %s" % ("Hello", "World") # 結果將是 "Hello World" ~~~ 在大多數情況下,加號 (+) 是最直觀的方式,但如果涉及到多個字符串的復雜連接操作,`join()`或格式化字符串可能更有效、更易讀。 pytest print 無效嗎 ![bot](https://davinci.mediatek.inc/_next/image?url=%2Fbot.png&w=64&q=75) 在默認情況下,當運行`pytest`時,標準輸出(`print`語句的結果)不會顯示在控制臺上,除非測試失敗。這是因為`pytest`捕獲了輸出,以便在測試失敗時只顯示相關的輸出信息。 但是,如果你希望在測試執行時看到輸出,你可以使用以下幾種方法之一: 1. **\-s或--capture=no參數**: 運行`pytest`時加上`-s`選項,這將禁用所有的輸出捕獲。 ~~~ bashCopy codepytest -s ~~~ 使用該選項后,所有的`print`調用都會正常輸出到控制臺。 2. **使用logging**: 在測試中使用`logging`模塊而不是`print`是一個更加標準的做法。在配置了日志處理器后,即使在沒有指定`-s`參數的情況下,日志輸出也會顯示在控制臺上。 首先設置logger: ~~~ pythonCopy codeimport logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) ~~~ 然后在你的測試中使用它: ~~~ pythonCopy codelogger.info("Your log message") ~~~ 3. **pytest的詳細模式**: 運行`pytest`時加上`-v`選項,它將開啟詳細模式,雖然這并不會顯示所有的輸出,但它可以在測試報告中提供更多信息。 ~~~ bashCopy codepytest -v ~~~ 選擇哪種方法取決于你想從測試運行中獲取什么樣的輸出。如果你想看到測試執行過程中的實時打印輸出,使用`-s`參數是最簡單直接的方式。如果你想要更加結構化的日志輸出,那么使用`logging`模塊會更好。 ## 參考 * https://docs.pytest.org/en/latest/contents.html * https://docs.pytest.org/en/7.1.x/reference/customize.html
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看