Rank 2: Process
I want to test my nodejs funtion before I deploy it to git. Im using V1.4.2 and node-18.
How I can run the function to test the functionality?
Votes
0
Replies
9
Participants
Unknown
Messages
10
Rank 2: Process
I want to test my nodejs funtion before I deploy it to git. Im using V1.4.2 and node-18.
How I can run the function to test the functionality?
It's easiest to just deploy it to Appwrite. You can deploy to a local Appwrite instance. Or, you can deploy to your prod project but with a different function Id.
Technically, it's also possible to run the open Runtimes container yourself: https://github.com/open-runtimes/open-runtimes/tree/main/runtimes/node-18.0#usage
Rank 2: Process
I find an another way to do it. Simple and fast:
// local-test.mjsimport main from './main.js'; // Assuming 'main.js' is in the same directoryimport dotenv from 'dotenv';dotenv.config();
// Simulate the req and res objectsconst req = { method: 'GET', // Change this to 'POST' if needed};
const res = { send: (data) => { console.log(data); }, json: (data) => { console.log(JSON.stringify(data, null, 2)); },};
const log = console.log;const error = console.error;
// Execute the main scriptmain({ req, res, log, error });node --experimental-modules src/local-test.mjs
Now, you have the respnse, logs, errors, etc like in appwrite console 🙂
You may run into problems where it works locally, but not in Appwrite. I always feel like working incrementally and deploying to Appwrite is the best approach to make sure things work.
Rank 2: Process
Of corse, but during devolopment its not so good deploy always to appwrite to test only 1 change. Its take to much time. Therefore Im looking something to test localy.
It typically takes 30 seconds or so to deploy for me.
A local instance of Appwrite could be faster too
Rank 2: Process
Could be 🙂 But I have some functions also in prod. I can not deploy any changes before testing. That is my pain point
Can't you deploy a duplicate function (different id)?
Although local instance is a better approach
Rank 2: Process
thats possible, thanks. I can do both.