Is it a good practice to use a static variable in a Test Class and use that in the actual class instead of Test.isRunningTest()? The 2019 Stack Overflow Developer Survey Results Are InAssistance with a Test Class to increase code coverageCompilation error with a unit testError: Compile Error: Illegal assignment from String to Booleanschema.getglobaldescribe needs test classWhy is this test giving 0% coverage?Test class for the zenkraft process classI am not able to cover the specific code in Apex classHow to cover global class and method in test classHow can I reference a trigger's method and/or variable from a test class?Test Class: Unable to assert enqueueJob
Kerning for subscripts of sigma?
Button changing its text & action. Good or terrible?
Dropping list elements from nested list after evaluation
Short story: child made less intelligent and less attractive
RequirePermission not working
writing variables above the numbers in tikz picture
Finding the area between two curves with Integrate
A word that means fill it to the required quantity
How to quickly solve partial fractions equation?
How much of the clove should I use when using big garlic heads?
Old scifi movie from the 50s or 60s with men in solid red uniforms who interrogate a spy from the past
Why was M87 targeted for the Event Horizon Telescope instead of Sagittarius A*?
Getting crown tickets for Statue of Liberty
Can a flute soloist sit?
What do I do when my TA workload is more than expected?
Is bread bad for ducks?
Correct punctuation for showing a character's confusion
Can I have a signal generator on while it's not connected?
Can withdrawing asylum be illegal?
What is the meaning of Triage in Cybersec world?
How come people say “Would of”?
How to translate "being like"?
What do these terms in Caesar's Gallic Wars mean?
How can I have a shield and a way of attacking with a ranged weapon at the same time?
Is it a good practice to use a static variable in a Test Class and use that in the actual class instead of Test.isRunningTest()?
The 2019 Stack Overflow Developer Survey Results Are InAssistance with a Test Class to increase code coverageCompilation error with a unit testError: Compile Error: Illegal assignment from String to Booleanschema.getglobaldescribe needs test classWhy is this test giving 0% coverage?Test class for the zenkraft process classI am not able to cover the specific code in Apex classHow to cover global class and method in test classHow can I reference a trigger's method and/or variable from a test class?Test Class: Unable to assert enqueueJob
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I've read about using a static variable from a class in the test class but I'm wondering if this is legal enough to do.
@isTest
public class myTestClass
public static Boolean mySwitch = false;
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
mySwitch = true;
// code //
public class actualClass
public void method1()
if(Test.isRunningTest)
//always true if its hitting from a test class.
else if(Test.isRunningTest && myTestClass.mySwitch)
//do something from myTestMethod2
apex unit-test code-coverage
New contributor
add a comment |
I've read about using a static variable from a class in the test class but I'm wondering if this is legal enough to do.
@isTest
public class myTestClass
public static Boolean mySwitch = false;
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
mySwitch = true;
// code //
public class actualClass
public void method1()
if(Test.isRunningTest)
//always true if its hitting from a test class.
else if(Test.isRunningTest && myTestClass.mySwitch)
//do something from myTestMethod2
apex unit-test code-coverage
New contributor
2
What code/why are you trying to gate in test context? That's something one generally ought to do only if one really has to and has run out of other tools, in my opinion.
– David Reed♦
6 hours ago
I'm sorry but can't share my code here. I can explain why am trying to do this, let's say there is an if condition which can't be made true from a test class but can be done using Test.isRunningTest() in actual class. What this does now is that, it will always get into this if condition but not the next if-else conditions. My bad if this is confusing.
– Apz
6 hours ago
add a comment |
I've read about using a static variable from a class in the test class but I'm wondering if this is legal enough to do.
@isTest
public class myTestClass
public static Boolean mySwitch = false;
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
mySwitch = true;
// code //
public class actualClass
public void method1()
if(Test.isRunningTest)
//always true if its hitting from a test class.
else if(Test.isRunningTest && myTestClass.mySwitch)
//do something from myTestMethod2
apex unit-test code-coverage
New contributor
I've read about using a static variable from a class in the test class but I'm wondering if this is legal enough to do.
@isTest
public class myTestClass
public static Boolean mySwitch = false;
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
mySwitch = true;
// code //
public class actualClass
public void method1()
if(Test.isRunningTest)
//always true if its hitting from a test class.
else if(Test.isRunningTest && myTestClass.mySwitch)
//do something from myTestMethod2
apex unit-test code-coverage
apex unit-test code-coverage
New contributor
New contributor
New contributor
asked 6 hours ago
ApzApz
61
61
New contributor
New contributor
2
What code/why are you trying to gate in test context? That's something one generally ought to do only if one really has to and has run out of other tools, in my opinion.
– David Reed♦
6 hours ago
I'm sorry but can't share my code here. I can explain why am trying to do this, let's say there is an if condition which can't be made true from a test class but can be done using Test.isRunningTest() in actual class. What this does now is that, it will always get into this if condition but not the next if-else conditions. My bad if this is confusing.
– Apz
6 hours ago
add a comment |
2
What code/why are you trying to gate in test context? That's something one generally ought to do only if one really has to and has run out of other tools, in my opinion.
– David Reed♦
6 hours ago
I'm sorry but can't share my code here. I can explain why am trying to do this, let's say there is an if condition which can't be made true from a test class but can be done using Test.isRunningTest() in actual class. What this does now is that, it will always get into this if condition but not the next if-else conditions. My bad if this is confusing.
– Apz
6 hours ago
2
2
What code/why are you trying to gate in test context? That's something one generally ought to do only if one really has to and has run out of other tools, in my opinion.
– David Reed♦
6 hours ago
What code/why are you trying to gate in test context? That's something one generally ought to do only if one really has to and has run out of other tools, in my opinion.
– David Reed♦
6 hours ago
I'm sorry but can't share my code here. I can explain why am trying to do this, let's say there is an if condition which can't be made true from a test class but can be done using Test.isRunningTest() in actual class. What this does now is that, it will always get into this if condition but not the next if-else conditions. My bad if this is confusing.
– Apz
6 hours ago
I'm sorry but can't share my code here. I can explain why am trying to do this, let's say there is an if condition which can't be made true from a test class but can be done using Test.isRunningTest() in actual class. What this does now is that, it will always get into this if condition but not the next if-else conditions. My bad if this is confusing.
– Apz
6 hours ago
add a comment |
2 Answers
2
active
oldest
votes
You cannot reference a test class from a production class. You have the pattern reversed on where the Boolean
flag should be.
You should avoid code which runs only out of a test context wherever possible. There are a few exceptions, such as:
- Disabling a trigger framework to save on run times if they become prohibitive
- Disabling batch chaining or other aspects of asynchronous processing
In these cases, you still should not use Test.isRunningTest()
(at least according to our coding guideline where I work). Instead, you should use a @TestVisible
flag in your production code.
public with sharing class MyClass
@TestVisible static Boolean shouldDoStuff = true;
public static void doStuff()
if (!shouldDoStuff) return;
// actual logic
public static void doNonGatedStuff()
doStuff();
// other logic
@IsTest class MyClass
@IsTest static void testDoStuff()
MyClass.shouldDoStuff = false;
// rest of test
Sometimes you will see this logic reversed. For example our typical flag for trigger handlers is called bypassTrigger
, which would obviously default to false
. You set it to true
before inserting some records for setup, then bookend it back to false
so that any further operations will still run the trigger.
P.S. You didn't actually answer the question of "if this is legal?"
– sfdcfox
6 hours ago
Because the way it was written wouldn't work, I simply showed how it can be done.
– Adrian Larson♦
6 hours ago
Thanks for the response. I was actually able to use that static Boolean flag (from Test class) in my actual class, in order to get into a scope and looks like it worked. Do you think am missing something? The procedure that you showed is perfect but I just don't want to make any changes to the prod class since am just supposed to get the coverage up. That's the main reason for this question. Thanks again.
– Apz
1 hour ago
It shouldn't work.
– Adrian Larson♦
1 hour ago
So you're saying 'myTestClass.mySwitch' will throw an error if it's used outside the test context?
– Apz
1 hour ago
|
show 1 more comment
No, it is not valid. You cannot access any variables or methods inside a class marked @isTest outside of a test context. Instead, you need to place the static variable inside the actual class, then modify it in the test class:
@isTest
public class myTestClass
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
actualClass.mySwitch = true;
// code //
public class actualClass
@TestVisible static Boolean mySwitch = false;
public void method2()
if(mySwitch)
//do something from myTestMethod2
You can use @TestVisible to prevent accessing the variable outside of testing context.
Thanks for the response. I was able to use a static variable from a test class in a prod class. Is this something which is frowned upon or is just NOT allowed? If it's the latter then it should thrown an error before saving, right? It ran successfully and in fact got what I was hoping for.
– Apz
1 hour ago
@Apz No, it shouldn't work. I tried this and got a compilation error.
– sfdcfox
1 hour ago
Sorry to bug but I checked it in my developer org and sandbox, it works fine for me.
– Apz
1 hour ago
@Apz Not sure how you managed to do it--it is not allowed. Do not try to do it.
– sfdcfox
1 hour ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "459"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Apz is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f257558%2fis-it-a-good-practice-to-use-a-static-variable-in-a-test-class-and-use-that-in-t%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You cannot reference a test class from a production class. You have the pattern reversed on where the Boolean
flag should be.
You should avoid code which runs only out of a test context wherever possible. There are a few exceptions, such as:
- Disabling a trigger framework to save on run times if they become prohibitive
- Disabling batch chaining or other aspects of asynchronous processing
In these cases, you still should not use Test.isRunningTest()
(at least according to our coding guideline where I work). Instead, you should use a @TestVisible
flag in your production code.
public with sharing class MyClass
@TestVisible static Boolean shouldDoStuff = true;
public static void doStuff()
if (!shouldDoStuff) return;
// actual logic
public static void doNonGatedStuff()
doStuff();
// other logic
@IsTest class MyClass
@IsTest static void testDoStuff()
MyClass.shouldDoStuff = false;
// rest of test
Sometimes you will see this logic reversed. For example our typical flag for trigger handlers is called bypassTrigger
, which would obviously default to false
. You set it to true
before inserting some records for setup, then bookend it back to false
so that any further operations will still run the trigger.
P.S. You didn't actually answer the question of "if this is legal?"
– sfdcfox
6 hours ago
Because the way it was written wouldn't work, I simply showed how it can be done.
– Adrian Larson♦
6 hours ago
Thanks for the response. I was actually able to use that static Boolean flag (from Test class) in my actual class, in order to get into a scope and looks like it worked. Do you think am missing something? The procedure that you showed is perfect but I just don't want to make any changes to the prod class since am just supposed to get the coverage up. That's the main reason for this question. Thanks again.
– Apz
1 hour ago
It shouldn't work.
– Adrian Larson♦
1 hour ago
So you're saying 'myTestClass.mySwitch' will throw an error if it's used outside the test context?
– Apz
1 hour ago
|
show 1 more comment
You cannot reference a test class from a production class. You have the pattern reversed on where the Boolean
flag should be.
You should avoid code which runs only out of a test context wherever possible. There are a few exceptions, such as:
- Disabling a trigger framework to save on run times if they become prohibitive
- Disabling batch chaining or other aspects of asynchronous processing
In these cases, you still should not use Test.isRunningTest()
(at least according to our coding guideline where I work). Instead, you should use a @TestVisible
flag in your production code.
public with sharing class MyClass
@TestVisible static Boolean shouldDoStuff = true;
public static void doStuff()
if (!shouldDoStuff) return;
// actual logic
public static void doNonGatedStuff()
doStuff();
// other logic
@IsTest class MyClass
@IsTest static void testDoStuff()
MyClass.shouldDoStuff = false;
// rest of test
Sometimes you will see this logic reversed. For example our typical flag for trigger handlers is called bypassTrigger
, which would obviously default to false
. You set it to true
before inserting some records for setup, then bookend it back to false
so that any further operations will still run the trigger.
P.S. You didn't actually answer the question of "if this is legal?"
– sfdcfox
6 hours ago
Because the way it was written wouldn't work, I simply showed how it can be done.
– Adrian Larson♦
6 hours ago
Thanks for the response. I was actually able to use that static Boolean flag (from Test class) in my actual class, in order to get into a scope and looks like it worked. Do you think am missing something? The procedure that you showed is perfect but I just don't want to make any changes to the prod class since am just supposed to get the coverage up. That's the main reason for this question. Thanks again.
– Apz
1 hour ago
It shouldn't work.
– Adrian Larson♦
1 hour ago
So you're saying 'myTestClass.mySwitch' will throw an error if it's used outside the test context?
– Apz
1 hour ago
|
show 1 more comment
You cannot reference a test class from a production class. You have the pattern reversed on where the Boolean
flag should be.
You should avoid code which runs only out of a test context wherever possible. There are a few exceptions, such as:
- Disabling a trigger framework to save on run times if they become prohibitive
- Disabling batch chaining or other aspects of asynchronous processing
In these cases, you still should not use Test.isRunningTest()
(at least according to our coding guideline where I work). Instead, you should use a @TestVisible
flag in your production code.
public with sharing class MyClass
@TestVisible static Boolean shouldDoStuff = true;
public static void doStuff()
if (!shouldDoStuff) return;
// actual logic
public static void doNonGatedStuff()
doStuff();
// other logic
@IsTest class MyClass
@IsTest static void testDoStuff()
MyClass.shouldDoStuff = false;
// rest of test
Sometimes you will see this logic reversed. For example our typical flag for trigger handlers is called bypassTrigger
, which would obviously default to false
. You set it to true
before inserting some records for setup, then bookend it back to false
so that any further operations will still run the trigger.
You cannot reference a test class from a production class. You have the pattern reversed on where the Boolean
flag should be.
You should avoid code which runs only out of a test context wherever possible. There are a few exceptions, such as:
- Disabling a trigger framework to save on run times if they become prohibitive
- Disabling batch chaining or other aspects of asynchronous processing
In these cases, you still should not use Test.isRunningTest()
(at least according to our coding guideline where I work). Instead, you should use a @TestVisible
flag in your production code.
public with sharing class MyClass
@TestVisible static Boolean shouldDoStuff = true;
public static void doStuff()
if (!shouldDoStuff) return;
// actual logic
public static void doNonGatedStuff()
doStuff();
// other logic
@IsTest class MyClass
@IsTest static void testDoStuff()
MyClass.shouldDoStuff = false;
// rest of test
Sometimes you will see this logic reversed. For example our typical flag for trigger handlers is called bypassTrigger
, which would obviously default to false
. You set it to true
before inserting some records for setup, then bookend it back to false
so that any further operations will still run the trigger.
edited 5 hours ago
answered 6 hours ago
Adrian Larson♦Adrian Larson
110k19120256
110k19120256
P.S. You didn't actually answer the question of "if this is legal?"
– sfdcfox
6 hours ago
Because the way it was written wouldn't work, I simply showed how it can be done.
– Adrian Larson♦
6 hours ago
Thanks for the response. I was actually able to use that static Boolean flag (from Test class) in my actual class, in order to get into a scope and looks like it worked. Do you think am missing something? The procedure that you showed is perfect but I just don't want to make any changes to the prod class since am just supposed to get the coverage up. That's the main reason for this question. Thanks again.
– Apz
1 hour ago
It shouldn't work.
– Adrian Larson♦
1 hour ago
So you're saying 'myTestClass.mySwitch' will throw an error if it's used outside the test context?
– Apz
1 hour ago
|
show 1 more comment
P.S. You didn't actually answer the question of "if this is legal?"
– sfdcfox
6 hours ago
Because the way it was written wouldn't work, I simply showed how it can be done.
– Adrian Larson♦
6 hours ago
Thanks for the response. I was actually able to use that static Boolean flag (from Test class) in my actual class, in order to get into a scope and looks like it worked. Do you think am missing something? The procedure that you showed is perfect but I just don't want to make any changes to the prod class since am just supposed to get the coverage up. That's the main reason for this question. Thanks again.
– Apz
1 hour ago
It shouldn't work.
– Adrian Larson♦
1 hour ago
So you're saying 'myTestClass.mySwitch' will throw an error if it's used outside the test context?
– Apz
1 hour ago
P.S. You didn't actually answer the question of "if this is legal?"
– sfdcfox
6 hours ago
P.S. You didn't actually answer the question of "if this is legal?"
– sfdcfox
6 hours ago
Because the way it was written wouldn't work, I simply showed how it can be done.
– Adrian Larson♦
6 hours ago
Because the way it was written wouldn't work, I simply showed how it can be done.
– Adrian Larson♦
6 hours ago
Thanks for the response. I was actually able to use that static Boolean flag (from Test class) in my actual class, in order to get into a scope and looks like it worked. Do you think am missing something? The procedure that you showed is perfect but I just don't want to make any changes to the prod class since am just supposed to get the coverage up. That's the main reason for this question. Thanks again.
– Apz
1 hour ago
Thanks for the response. I was actually able to use that static Boolean flag (from Test class) in my actual class, in order to get into a scope and looks like it worked. Do you think am missing something? The procedure that you showed is perfect but I just don't want to make any changes to the prod class since am just supposed to get the coverage up. That's the main reason for this question. Thanks again.
– Apz
1 hour ago
It shouldn't work.
– Adrian Larson♦
1 hour ago
It shouldn't work.
– Adrian Larson♦
1 hour ago
So you're saying 'myTestClass.mySwitch' will throw an error if it's used outside the test context?
– Apz
1 hour ago
So you're saying 'myTestClass.mySwitch' will throw an error if it's used outside the test context?
– Apz
1 hour ago
|
show 1 more comment
No, it is not valid. You cannot access any variables or methods inside a class marked @isTest outside of a test context. Instead, you need to place the static variable inside the actual class, then modify it in the test class:
@isTest
public class myTestClass
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
actualClass.mySwitch = true;
// code //
public class actualClass
@TestVisible static Boolean mySwitch = false;
public void method2()
if(mySwitch)
//do something from myTestMethod2
You can use @TestVisible to prevent accessing the variable outside of testing context.
Thanks for the response. I was able to use a static variable from a test class in a prod class. Is this something which is frowned upon or is just NOT allowed? If it's the latter then it should thrown an error before saving, right? It ran successfully and in fact got what I was hoping for.
– Apz
1 hour ago
@Apz No, it shouldn't work. I tried this and got a compilation error.
– sfdcfox
1 hour ago
Sorry to bug but I checked it in my developer org and sandbox, it works fine for me.
– Apz
1 hour ago
@Apz Not sure how you managed to do it--it is not allowed. Do not try to do it.
– sfdcfox
1 hour ago
add a comment |
No, it is not valid. You cannot access any variables or methods inside a class marked @isTest outside of a test context. Instead, you need to place the static variable inside the actual class, then modify it in the test class:
@isTest
public class myTestClass
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
actualClass.mySwitch = true;
// code //
public class actualClass
@TestVisible static Boolean mySwitch = false;
public void method2()
if(mySwitch)
//do something from myTestMethod2
You can use @TestVisible to prevent accessing the variable outside of testing context.
Thanks for the response. I was able to use a static variable from a test class in a prod class. Is this something which is frowned upon or is just NOT allowed? If it's the latter then it should thrown an error before saving, right? It ran successfully and in fact got what I was hoping for.
– Apz
1 hour ago
@Apz No, it shouldn't work. I tried this and got a compilation error.
– sfdcfox
1 hour ago
Sorry to bug but I checked it in my developer org and sandbox, it works fine for me.
– Apz
1 hour ago
@Apz Not sure how you managed to do it--it is not allowed. Do not try to do it.
– sfdcfox
1 hour ago
add a comment |
No, it is not valid. You cannot access any variables or methods inside a class marked @isTest outside of a test context. Instead, you need to place the static variable inside the actual class, then modify it in the test class:
@isTest
public class myTestClass
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
actualClass.mySwitch = true;
// code //
public class actualClass
@TestVisible static Boolean mySwitch = false;
public void method2()
if(mySwitch)
//do something from myTestMethod2
You can use @TestVisible to prevent accessing the variable outside of testing context.
No, it is not valid. You cannot access any variables or methods inside a class marked @isTest outside of a test context. Instead, you need to place the static variable inside the actual class, then modify it in the test class:
@isTest
public class myTestClass
public static testMethod void myTestMethod1()
// code //
public static testMethod void myTestMethod2()
actualClass.mySwitch = true;
// code //
public class actualClass
@TestVisible static Boolean mySwitch = false;
public void method2()
if(mySwitch)
//do something from myTestMethod2
You can use @TestVisible to prevent accessing the variable outside of testing context.
edited 6 hours ago
answered 6 hours ago
sfdcfoxsfdcfox
264k13211458
264k13211458
Thanks for the response. I was able to use a static variable from a test class in a prod class. Is this something which is frowned upon or is just NOT allowed? If it's the latter then it should thrown an error before saving, right? It ran successfully and in fact got what I was hoping for.
– Apz
1 hour ago
@Apz No, it shouldn't work. I tried this and got a compilation error.
– sfdcfox
1 hour ago
Sorry to bug but I checked it in my developer org and sandbox, it works fine for me.
– Apz
1 hour ago
@Apz Not sure how you managed to do it--it is not allowed. Do not try to do it.
– sfdcfox
1 hour ago
add a comment |
Thanks for the response. I was able to use a static variable from a test class in a prod class. Is this something which is frowned upon or is just NOT allowed? If it's the latter then it should thrown an error before saving, right? It ran successfully and in fact got what I was hoping for.
– Apz
1 hour ago
@Apz No, it shouldn't work. I tried this and got a compilation error.
– sfdcfox
1 hour ago
Sorry to bug but I checked it in my developer org and sandbox, it works fine for me.
– Apz
1 hour ago
@Apz Not sure how you managed to do it--it is not allowed. Do not try to do it.
– sfdcfox
1 hour ago
Thanks for the response. I was able to use a static variable from a test class in a prod class. Is this something which is frowned upon or is just NOT allowed? If it's the latter then it should thrown an error before saving, right? It ran successfully and in fact got what I was hoping for.
– Apz
1 hour ago
Thanks for the response. I was able to use a static variable from a test class in a prod class. Is this something which is frowned upon or is just NOT allowed? If it's the latter then it should thrown an error before saving, right? It ran successfully and in fact got what I was hoping for.
– Apz
1 hour ago
@Apz No, it shouldn't work. I tried this and got a compilation error.
– sfdcfox
1 hour ago
@Apz No, it shouldn't work. I tried this and got a compilation error.
– sfdcfox
1 hour ago
Sorry to bug but I checked it in my developer org and sandbox, it works fine for me.
– Apz
1 hour ago
Sorry to bug but I checked it in my developer org and sandbox, it works fine for me.
– Apz
1 hour ago
@Apz Not sure how you managed to do it--it is not allowed. Do not try to do it.
– sfdcfox
1 hour ago
@Apz Not sure how you managed to do it--it is not allowed. Do not try to do it.
– sfdcfox
1 hour ago
add a comment |
Apz is a new contributor. Be nice, and check out our Code of Conduct.
Apz is a new contributor. Be nice, and check out our Code of Conduct.
Apz is a new contributor. Be nice, and check out our Code of Conduct.
Apz is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Salesforce Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f257558%2fis-it-a-good-practice-to-use-a-static-variable-in-a-test-class-and-use-that-in-t%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
What code/why are you trying to gate in test context? That's something one generally ought to do only if one really has to and has run out of other tools, in my opinion.
– David Reed♦
6 hours ago
I'm sorry but can't share my code here. I can explain why am trying to do this, let's say there is an if condition which can't be made true from a test class but can be done using Test.isRunningTest() in actual class. What this does now is that, it will always get into this if condition but not the next if-else conditions. My bad if this is confusing.
– Apz
6 hours ago