ProductPromotion
Logo

Elixir

made by https://0x3d.site

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 Site

GitHub - 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.

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:

Articles
to learn more about the elixir concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Elixir.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory