Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 229945
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T19:48:30+00:00 2026-05-11T19:48:30+00:00

I am testing a static method that builds a URL string after checking proxies

  • 0

I am testing a static method that builds a URL string after checking proxies and hostnames and all kinds of things. This method internally relies on the static flag System.Net.Sockets.Socket.OSSupportsIPv6. Because it’s static, I cannot mock this dependency.

EDIT: (This is simplified down a lot… I can’t modify the structure of the method with the flag to accept a true/false).

On XP development machines, the method under question returns a predictable string result (in this case, http://hostname/…. ). Our build server, which support IPv6, returns a totally different result (it gives me something like http://192.168.0.1:80/….). Please don’t ask why – the point is that there are two different output types that vary on an operating system dependency.

The test needs to validate that the returned hostname or IP address is valid. The outputs are easy to check. The problem is that I can only get one of the possible outputs, depending on which machine the test is run on.

What’s the best practice for writing the test in this case? Do I put an if statement in my test which checks the flag and then looks for the two different outputs? This seems sketchy to me because

  1. the test is behaving differently
    depending on the environment it’s
    run in

  2. I’m basically coupling the test
    to the method, because you need to
    know the internals of the method to
    set up the two cases.

Do I set up two tests, one for each environment, that simply pass if they’re in the wrong environment? Do I write some complex regular expression that can separate out what kind of result it got and use more if/else logic to verify it?

Any suggestions would help!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T19:48:30+00:00Added an answer on May 11, 2026 at 7:48 pm

    Can you hide the static method behind an abstract interface?

    interface ISupportIPv6
    {
      bool supported { get; }
    }
    
    //class for unit testing
    class TestSupportsIPv6 : ISupportIPv6
    {
      public bool supported { get { return true; } }
    }
    
    //another class for more unit testing
    class TestDoesNotSupportIPv6 : ISupportIPv6
    {
      public bool supported { get { return false; } }
    }
    
    //class for real life (not unit testing)
    class OsSupportsIPv6 : ISupportIPv6
    {
      public bool supported { get {
        return System.Net.Sockets.Socket.OSSupportsIPv6; } }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 166k
  • Answers 166k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer I'm not an ASP expert but have you tried recoding… May 12, 2026 at 1:18 pm
  • Editorial Team
    Editorial Team added an answer I'm using generics extensively in Delphi 2009, and I can… May 12, 2026 at 1:18 pm
  • Editorial Team
    Editorial Team added an answer If you have the number you can try this [[UIApplication… May 12, 2026 at 1:18 pm

Related Questions

I am experiencing a weirdest thing for the last couple of days. I found
I have a coworker who writes unit tests for objects which fill their fields
I have a simple class (for testing purposes) that I am trying to Query
I am building ASP.NET 2.0 websites and currently I some home grown assemblies for

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.