Git Product home page Git Product logo

testsmells / tsdetect Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 2.65 MB

TSDetect is an open-source test smell detection tool. TSDetect is available as an IntelliJ plugin and command-line tool.

License: GNU General Public License v3.0

Java 94.80% Batchfile 0.12% JavaScript 4.47% CSS 0.33% HTML 0.13% Dockerfile 0.04% Shell 0.11%
test-smells java junit intellij-plugin unit-testing code-quality code-quality-analyzer unit-test

tsdetect's People

Stargazers

 avatar

Watchers

 avatar  avatar

tsdetect's Issues

Create Test Plan

Description:
Create a test for each "Smell" that causes the existing code to detect the smell within that test function. Task is only complete once every single "smell" has a corresponding test file with the smell in it.

FOR ALL TESTS: add a javadock and link the website's test to the test file.

  • Assertion Roulette d4601d5
  • Conditional Test Logic: #12
  • Constructor Initialization #13
  • Default Test: #12
  • Dependent Test:
  • Duplicate Assert #7
  • Eager Test #7
  • Empty Test d4601d5
  • Exception Catching Throwing:
  • General Fixture #14
  • Ignored Test #9
  • Lazy Test #14
  • Magic Number Test #9
  • Mystery Guest #10
  • Print Statement #8
  • Redundant Assertion #8
  • Resource Optimize #11
  • Sensitive Equality: @nxb9626
  • Sleepy Test #10
  • Unknown Test: #13
  • Verbose Test:

Users: Everyone
Points: 8

Reports Types

  • Detected Smells
  • Smelly Files
  • Smell Type Distribution
  • File Distribution
  • Unit Tests

Research best practicies for UI using SWING

Guidelines for using intellij components in the ui:
https://jetbrains.github.io/ui/
Intellij platform ui kit:

A list of open source tools to do with java swing, potentially useful but most seem only tangentially related
https://github.com/parubok/awesome-swing

This seems to be the best for charts for displaying our results, however it has different versions for different os's, which could be problematic, however the main sites download page just takes straight to a github build:
https://www.jfree.org/jfreechart/
https://www.javatpoint.com/jfreechart-tutorial

Lazy Test to IntelliJ plugin

  • Smell Detection
  • Quick Fix (if applicable)
  • Internationalization
  • Description
  • Display Name
  • Short Name
  • Unit Tests

Document Project Setup

  • Create vm fresh for everything and use that to verify steps
  • Save references to install

Research Usage of Resource Files

-Multiple language files - you do not have to have actual translations; dummy text is fine. We need to know how to create and organize the property files.

-What will happen if we don't have a property file corresponding to the user's locale? E.g., No en_US file.

-What is the naming convention we need to use for the names of the keys?

Empty Test to IntelliJ plugin

  • Smell Detection
  • Quick Fix (if applicable) Comment this method
  • Internalization
  • Description
  • Display Name
  • Short Name
  • Unit Tests

Unit Tests

Displaying the results of the scan by unit test in its own tab

IntelliJ Library Research

Description:
Research the libraries we plan to use for the intelliJ plugin, as well as the existing libraries that are used to create plugins with IntelliJ

Users: Everyone
Points: 5

Research Code Inspection in IntelliJ

-There are a couple of approaches. Which is the best for us?
-Define every inspection in the plugin xml
-Load the inspections at runtime

-What is the "createOptionsPanel" method? Do we need to override it?

-How do we explicitly call the inspection? I.e., instead of opening a file, we click a button to scan all (or specific) files in the project

-How can we get the output? Show all the violations in a custom UI.

Add Loading Icon

When the 'Run Analysis' button is pressed, a loading icon/animation/gif would inform the user that something is happening.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.