Logo

0x5a.live

for different kinds of informations and explorations.

GitHub - yeshan333/ex_integration_coveralls: A library for run-time system code line-level coverage analysis.

A library for run-time system code line-level coverage analysis. - yeshan333/ex_integration_coveralls

Visit SiteGitHub - yeshan333/ex_integration_coveralls: A library for run-time system code line-level coverage analysis.

GitHub - yeshan333/ex_integration_coveralls: A library for run-time system code line-level coverage analysis.

A library for run-time system code line-level coverage analysis. - yeshan333/ex_integration_coveralls

Powered by 0x5a.live 💗

ExIntegrationCoveralls

Coverage Status hex.pm version hex.pm downloads hex.pm license

A library for run-time system code line-level coverage analysis. You can use it to evaluate the intergration test coverage.

realistic practice:

Running Tests

To run tests with coverage data, run the following command:

mix test --cover --exclude real_cover

Installation

The package can be installed by adding ex_integration_coveralls to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_integration_coveralls, "~> 0.9.0"}
  ]
end

The docs can be found at https://hexdocs.pm/ex_integration_coveralls.

Quick Start

Once your application is release, up and running. You only need the following three steps to do run-time coverage collection:

  • Step 1、Connects a shell to the running node which your application is running:
/path/bin/your_app remote_console
  • Step 2、Specific the application start coverage collection:
ExIntegrationCoveralls.start_app_cov("your_app_name")

Note: the your_app_name must exist in the return app list of :application.which_applications.

  • Step 3、Conduct external testing against the above application. Get run-time coverage or post coverage data to coverage system.
ExIntegrationCoveralls.get_app_total_cov("your_app_name")
# post coverage data
ExIntegrationCoveralls.post_app_cov_to_ci(url, extends, "your_app_name")

Note: Your application release package should include the source code. ExIntegrationCoveralls will use the source code to caculate coverage stats. The general structure is as follows:

.
├── bin
│   ├── explore_ast_app
│   ├── explore_ast_app.bat
│   ├── explore_ast_app_rc_exec.sh
│   ├── no_dot_erlang.boot
│   └── start_clean.boot
├── erts-12.1
│   ├── bin
│   ├── doc
│   ├── include
│   ├── info
│   ├── lib
│   └── src
├── lib
│   ├── artificery-0.4.3
│   ├── asn1-5.0.17
│   ├── certifi-2.9.0
│   ├── elixir-1.12.3
│   ├── ex_integration_coveralls-0.4.0 # your running app
│   ├── explore_ast_app-0.1.0
│   │   ├── consolidated
│   │   ├── ebin
│   │   └── lib                        # source code in here
│   └── unicode_util_compat-0.7.0
└── releases
    ├── 0.1.0
    ├── RELEASES
    └── start_erl.data

Note: If you use the distillery to get OTP release, and config set include_src: true, then you can get the above structure. But if you use the Elixir origin mix release, this situation needs to be handled manually.

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

Thanks for these awesome resources that were used during the development of the ExIntegrationCoveralls:

Elixir Resources

are all listed below.

Resources

listed to get explored on!!

Made with ❤️

to provide different kinds of informations and resources.