From c9772c5af86a8027b69c0af17de8a04203df6651 Mon Sep 17 00:00:00 2001 From: qeffects Date: Mon, 27 Sep 2021 14:02:52 +0300 Subject: [PATCH 1/2] added automated testing page --- docs/advanced/automated-testing.md | 256 ++++++++++++++++++ sidebars.json | 1 + static/images/busted-output.png | Bin 0 -> 51250 bytes static/images/github-workflow-result.png | Bin 0 -> 44219 bytes ...testing-project-setup-with-spec-folder.png | Bin 0 -> 58711 bytes static/images/testing-project-setup.png | Bin 0 -> 42743 bytes 6 files changed, 257 insertions(+) create mode 100644 docs/advanced/automated-testing.md create mode 100644 static/images/busted-output.png create mode 100644 static/images/github-workflow-result.png create mode 100644 static/images/testing-project-setup-with-spec-folder.png create mode 100644 static/images/testing-project-setup.png diff --git a/docs/advanced/automated-testing.md b/docs/advanced/automated-testing.md new file mode 100644 index 00000000..9356e70b --- /dev/null +++ b/docs/advanced/automated-testing.md @@ -0,0 +1,256 @@ +--- +title: Automated Testing +--- + +import { SideBySide } from "@site/src/components/SideBySide"; +import { DeprecatedInVersion } from "@site/src/components/DeprecatedInVersion"; + +This guide is going to explore unit testing, it’s assuming some familiarity with the subject, but it’s not required. + +So to start off, you’re gonna need some project set up, the specifics don’t really matter, you can just take these ideas and extrapolate them to your own needs, but for demonstration I’m going to have a basic project set up like this: + +![Project setup](/images/testing-project-setup.png) + +Our code is very simple for this example. + +```typescript title=index.ts +export const libraryFunction = (param: number[], reverse: boolean) => { + let reversed: number[] = []; + + if (reverse) { + param.forEach((n) => table.insert(reversed, 1, n)); + } else { + reversed = param; + } + + return table.concat(reversed, ','); +} +``` + +So our function takes an array of numbers like “[1,2,3,4]” and returns a string like “1,2,3,4” or “4,3,2,1”This is where unit testing comes in, say a piece of code depends on this function working like it does, and for it to keep working exactly like it does right now, obviously you could use the tried and true method of doing the testing yourself, but unit testing provides an alternative to the manual work. + +So, automated testing, where do we begin? + +To start off we’re going to need these tools installed: + +https://luarocks.org/ +& +https://olivinelabs.com/busted/ + +*Luarocks is known to be hard to impossible to install on Windows systems sucessfully, if that’s the case for you, definitely keep reading on, we’re gonna explore a (free) option to do away with running tests locally entirely.* + +Now that we have busted installed and the `busted` command runs in your terminal of choice successfully we can proceed. + +Let’s quickly install busted typings like so `npm install -d busted-tstl` + +And we need to add busted-tstl types to our tsconfig.json, you should already have a section like this: + +```json title=tsconfig.json +"types": [ + "typescript-to-lua/language-extensions", + "lua-types/jit", +] +``` +Simply add `"busted-tstl"` : + +```json title=tsconfig.json +"types": [ + "typescript-to-lua/language-extensions", + "lua-types/jit", + "busted-tstl" +] +``` + +Now let’s set up a folder for our tests, by default busted takes a folder named `spec` and runs the files in there, now +this is personal preference, but usually I name my tests `[filename to be tested]_spec.ts`, the _spec suffix is once again what busted searches for by default, so we’ll stick to that. + +Now our project should look something like this: + +![Project setup](/images/testing-project-setup-with-spec-folder.png) + +Alright, we can start writing our first test. Let’s explore the following example briefly: + +```typescript title=index_spec.ts +import { libraryFunction } from ".."; + +describe('Library Function',() => { + it('Returns unreversed string correctly',() => { + assert.is_equal('1,2,3,4', libraryFunction([1, 2, 3, 4], false)); + }); +}) +``` + +So the short version of what’s happening there is the ‘describe’ block is our named collection of tests, this block pertains to the library function and library function alone, next we call it(‘’,()=>{}) in there to name and describe the behaviour of a single test, it’s a regular function so you can call and do anything in there. Right here, we’re just using a function in the assert namespace which passes the test if the 2 parameters are exactly equal, and fails if they’re different. + +Alright, so we call our libraryFunction with a set of parameters, and get back some return, then we assert that the return value is equal to a known (correct) value. For illustration let’s add another test, since we have a second signature of the function that returns a reversed string, we can try that: + +```typescript title=index_spec.ts +import { libraryFunction } from ".."; + +describe('Library Function',() => { + it('Returns unreversed string correctly',() => { + assert.is_equal('1,2,3,4', libraryFunction([1, 2, 3, 4], false)); + }); + it('Returns unreversed string correctly',() => { + assert.is_equal('4,3,2,1', libraryFunction([1, 2, 3, 4], true)); + }); +}) +``` + +Now hit compile and change your terminal’s directory in to your tstl output folder, for me it’s the `dist` folder. +We can now just simply run `busted`, and you should see something like this: + +![Project setup](/images/busted-output.png) + +2 tests succeeded, so our code is working as expected for these 2 scenarios, of course these aren’t exhaustive, for some real functionality they would be more exhaustive, more scenarios and validation, but this should set you on your tracks of busted testing your code. + +Now we can move on to the next topic + +## Automating the testing + +For this we’re going to use the free tools provided by GitHub to every public(and most private?) repository, this assumes you already have a git repository hosted on GitHub, if you need help doing that I can point you to their exhaustive docs: + +https://docs.github.com/en/get-started/quickstart + +And also the documentation about actions specifically: + +https://docs.github.com/en/actions + +So, first we’re going to create a workflow file + +Set up a folder structure like so: +``` +Root project folder/ + .github/ + workflows/ + testing.yml +``` + +```yaml title=testing.yml +name: TSTL Testing + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build_tests: + name: Busted Tests + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js [16.x] + uses: actions/setup-node@v2 + with: + node-version: 16.x + cache: 'npm' + - name: Npm Install && Build with Testing preset + run: npm install && npm run-script build + - name: Install Lua + uses: leafo/gh-actions-lua@v8 + with: + luaVersion: "luajit-2.1.0-beta3" + - name: Install LuaRocks + uses: leafo/gh-actions-luarocks@v4.0.0 + - name: Install Busted + run: luarocks install busted + - name: Running Tests + run: cd dist && busted +``` + +Without going in to much detail, this workflow triggers whenever you push a commit to your github repository, installs Node.js, Lua, Luarocks and Busted installs all of your project dependencies and compiles a fresh version of the project, at the very end it moves in to the dist folder and runs your busted tests exactly like you would. Now, if you commit and push these changes to your GitHub repository you should be able to see, Under the Actions tab at the top, something like this: + +![Github action result](/images/github-workflow-result.png) + +Now that’s just it, this job will run every time you push a new commit to the repository, if it fails it’ll show up as a red cross, and you can find which test failed in the logs. + +## TSTL Library specifics + +This section applies to projects described in [Publishing Modules](publishing-modules.md), as you might know, library projects don’t (and shouldn’t) include the luaLibBundle and also any dependencies it would need to run, so how do we make it run standalone, for testing, we’re going to utilize the fact that you can pass in a different `tsconfig.json` to the compiler, so, the regular one is implicitly used based on the name `tsconfig.json`, we’re going to create a new one like `tsconfig.test.json` you can pretty much duplicate it from your current one, we’re just going to change a few values: + +```json title=tsconfig.test.json +{ + "compilerOptions": { + "lib": ["esnext"], + "rootDir": "src", + "outDir": "dist" => "testing", + "target": "esnext", + "moduleResolution": "node", + "types": [ + "typescript-to-lua/language-extensions", + "lua-types/jit", + "busted-tstl" + ], + "declaration": true, + "noImplicitAny": true, + }, + "tstl": { + "luaLibImport": "none" => "require", + "buildMode": "library" => "default", + "luaTarget": "JIT", + "noImplicitSelf": true, + "sourceMapTraceback": false + } +} +``` +*(arrows are to indicate the changes, don't include them in the actual code)* + +Now you can use this new tsconfig like: `tstl —project tsconfig.test.json` + +It will output the new build in to the testing folder and you can move your terminal in to the folder and run busted + +Then you can edit your `package.json` file and add a new task: + +```json title=package.json +"scripts": { + "build": "tstl", + + "test-build": "tstl --project tsconfig.test.json", + "dev": "tstl --watch" +}, +``` + +Next we’ll edit our GitHub actions workflow file to work with this new command like so: + +```yaml title=testing.yml +name: TSTL Testing + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build_tests: + name: Busted Tests + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js [16.x] + uses: actions/setup-node@v2 + with: + node-version: 16.x + cache: 'npm' + - name: Npm Install && Build with Testing preset + run: npm install && npm run-script test-build + - name: Install Lua + uses: leafo/gh-actions-lua@v8 + with: + luaVersion: "luajit-2.1.0-beta3" + - name: Install LuaRocks + uses: leafo/gh-actions-luarocks@v4.0.0 + - name: Install Busted + run: luarocks install busted + - name: Running Tests + run: cd testing && busted +``` + +Now your build should include all the Lua libraries you installed with npm/yarn, include the lualib bundle file and the GitHub action should work. + +## An Example Repository + +If some things are still unclear you can always check a repository that followed this guide: https://github.com/qeffects/tstl-testing diff --git a/sidebars.json b/sidebars.json index 2446d13f..1d9dd0cc 100644 --- a/sidebars.json +++ b/sidebars.json @@ -10,6 +10,7 @@ "advanced/writing-declarations", "advanced/compiler-annotations", "advanced/language-extensions", + "advanced/automated-testing", "jsx", { "type": "category", diff --git a/static/images/busted-output.png b/static/images/busted-output.png new file mode 100644 index 0000000000000000000000000000000000000000..53c3ed100915ec4e5ebd4c61817fce8037bfa41a GIT binary patch literal 51250 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≪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

(5AA*r(?s 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