Testing Blog

TotT: Defeat "Static Cling"

torsdag, juni 26, 2008
Share on Twitter Share on Facebook
Google
Etiketter: TotT

4 kommentarer :

  1. Unknown26. juni 2008 kl. 15:35:00 PDT

    It is possible to have two classes in Java with the same fully qualified class name, if they are loaded by different class loaders. I don't know how practical it would be to take advantage of that, but at least theoretically it would be possible to mock a static method.

    SvarSlett
    Svar
      Svar
  2. Chris27. juni 2008 kl. 02:37:00 PDT

    There is also the technique suggested by Michael Feathers in "Working Effectively with Legacy Code" whereby you isolate the offending calls in a handful of protected methods. You then subclass the class under test and stub out these methods.

    SvarSlett
    Svar
      Svar
  3. hbchai3. juli 2008 kl. 11:49:00 PDT

    You could "mock" the static method with JMockit. However, the pattern suggested here seems like a much better solution.

    SvarSlett
    Svar
      Svar
  4. Steve Guidi28. april 2009 kl. 10:14:00 PDT

    For .NET programmers, I've written some code that will generate an assembly with the described interface declaration and forwarding implementation. For more information, refer to the testing library http://jolt.codeplex.com.

    SvarSlett
    Svar
      Svar
Legg til kommentar
Last inn mer ...

The comments you read and contribute here belong only to the person who posted them. We reserve the right to remove off-topic comments.

  

Labels


  • TotT 113
  • GTAC 61
  • James Whittaker 42
  • Misko Hevery 32
  • Code Health 31
  • Anthony Vallone 27
  • Patrick Copeland 23
  • Jobs 18
  • Andrew Trenk 13
  • C++ 11
  • Patrik Höglund 8
  • JavaScript 7
  • Allen Hutchison 6
  • George Pirocanac 6
  • Zhanyong Wan 6
  • Harry Robinson 5
  • Java 5
  • Julian Harty 5
  • Adam Bender 4
  • Alberto Savoia 4
  • Ben Yu 4
  • Erik Kuefler 4
  • Philip Zembrod 4
  • Shyam Seshadri 4
  • Chrome 3
  • Dillon Bly 3
  • John Thomas 3
  • Lesley Katzen 3
  • Marc Kaplan 3
  • Markus Clermont 3
  • Max Kanat-Alexander 3
  • Sonal Shah 3
  • APIs 2
  • Abhishek Arya 2
  • Alan Myrvold 2
  • Alek Icev 2
  • Android 2
  • April Fools 2
  • Chaitali Narla 2
  • Chris Lewis 2
  • Chrome OS 2
  • Diego Salas 2
  • Dori Reuveni 2
  • Jason Arbon 2
  • Jochen Wuttke 2
  • Kostya Serebryany 2
  • Marc Eaddy 2
  • Marko Ivanković 2
  • Mobile 2
  • Oliver Chang 2
  • Simon Stewart 2
  • Stefan Kennedy 2
  • Test Flakiness 2
  • Titus Winters 2
  • Tony Voellm 2
  • WebRTC 2
  • Yiming Sun 2
  • Yvette Nameth 2
  • Zuri Kemp 2
  • Aaron Jacobs 1
  • Adam Porter 1
  • Adam Raider 1
  • Adel Saoud 1
  • Alan Faulkner 1
  • Alex Eagle 1
  • Amy Fu 1
  • Anantha Keesara 1
  • Antoine Picard 1
  • App Engine 1
  • Arham Jain 1
  • Ari Shamash 1
  • Arif Sukoco 1
  • Bartosz Papis 1
  • Benjamin Pick 1
  • Bob Nystrom 1
  • Bruce Leban 1
  • Carlos Arguelles 1
  • Carlos Israel Ortiz García 1
  • Cathal Weakliam 1
  • Christopher Semturs 1
  • Clay Murphy 1
  • Dagang Wei 1
  • Dan Maksimovich 1
  • Dan Shi 1
  • Dan Willemsen 1
  • Dave Chen 1
  • Dave Gladfelter 1
  • David Bendory 1
  • David Mandelberg 1
  • Derek Snyder 1
  • Diego Cavalcanti 1
  • Dmitry Vyukov 1
  • Eduardo Bravo Ortiz 1
  • Ekaterina Kamenskaya 1
  • Elliott Karpilovsky 1
  • Elliotte Rusty Harold 1
  • Espresso 1
  • Felipe Sodré 1
  • Francois Aube 1
  • Gene Volovich 1
  • Google+ 1
  • Goran Petrovic 1
  • Goranka Bjedov 1
  • Hank Duan 1
  • Havard Rast Blok 1
  • Hongfei Ding 1
  • Jason Elbaum 1
  • Jason Huggins 1
  • Jay Han 1
  • Jeff Hoy 1
  • Jeff Listfield 1
  • Jessica Tomechak 1
  • Jim Reardon 1
  • Joe Allan Muharsky 1
  • Joel Hynoski 1
  • John Micco 1
  • John Penix 1
  • Jonathan Rockway 1
  • Jonathan Velasquez 1
  • Josh Armour 1
  • Julie Ralph 1
  • Kai Kent 1
  • Kanu Tewary 1
  • Karin Lundberg 1
  • Kaue Silveira 1
  • Kevin Bourrillion 1
  • Kevin Graney 1
  • Kirkland 1
  • Kurt Alfred Kluever 1
  • Kyle Freeman 1
  • Manjusha Parvathaneni 1
  • Marek Kiszkis 1
  • Marius Latinis 1
  • Mark Ivey 1
  • Mark Manley 1
  • Mark Striebeck 1
  • Matt Lowrie 1
  • Meredith Whittaker 1
  • Michael Bachman 1
  • Michael Klepikov 1
  • Mike Aizatsky 1
  • Mike Wacker 1
  • Mona El Mahdy 1
  • Noel Yap 1
  • Palak Bansal 1
  • Patricia Legaspi 1
  • Per Jacobsson 1
  • Peter Arrenbrecht 1
  • Peter Spragins 1
  • Phil Norman 1
  • Phil Rollet 1
  • Pooja Gupta 1
  • Project Showcase 1
  • Radion Khait 1
  • Radoslav Vasilev 1
  • Rahul Singal 1
  • Rajat Dewan 1
  • Rajat Jain 1
  • Rich Martin 1
  • Richard Bustamante 1
  • Roman Govsheev 1
  • Roshan Sembacuttiaratchy 1
  • Ruslan Khamitov 1
  • Saicharan Nimmala 1
  • Sam Lee 1
  • Sean Jordan 1
  • Sebastian Dörner 1
  • Shahar Roth 1
  • Sharon Zhou 1
  • Shiva Garg 1
  • Siddartha Janga 1
  • Simran Basi 1
  • Stan Chan 1
  • Stephen Ng 1
  • Tejas Shah 1
  • Test Analytics 1
  • Test Engineer 1
  • Tim Lyakhovetskiy 1
  • Tom O'Neill 1
  • Vojta Jína 1
  • Zhe Lu 1
  • automation 1
  • dead code 1
  • iOS 1
  • mutation testing 1


Archive


  • ►  2026 (7)
    • ►  juli (1)
    • ►  juni (1)
    • ►  mai (2)
    • ►  apr. (1)
    • ►  mars (2)
  • ►  2025 (3)
    • ►  okt. (1)
    • ►  sep. (1)
    • ►  jan. (1)
  • ►  2024 (13)
    • ►  des. (1)
    • ►  okt. (1)
    • ►  sep. (1)
    • ►  aug. (1)
    • ►  juli (1)
    • ►  mai (3)
    • ►  apr. (3)
    • ►  mars (1)
    • ►  feb. (1)
  • ►  2023 (14)
    • ►  des. (2)
    • ►  nov. (2)
    • ►  okt. (5)
    • ►  sep. (3)
    • ►  aug. (1)
    • ►  apr. (1)
  • ►  2022 (2)
    • ►  feb. (2)
  • ►  2021 (3)
    • ►  juni (1)
    • ►  apr. (1)
    • ►  mars (1)
  • ►  2020 (8)
    • ►  des. (2)
    • ►  nov. (1)
    • ►  okt. (1)
    • ►  aug. (2)
    • ►  juli (1)
    • ►  mai (1)
  • ►  2019 (4)
    • ►  des. (1)
    • ►  nov. (1)
    • ►  juli (1)
    • ►  jan. (1)
  • ►  2018 (7)
    • ►  nov. (1)
    • ►  sep. (1)
    • ►  juli (1)
    • ►  juni (2)
    • ►  mai (1)
    • ►  feb. (1)
  • ►  2017 (17)
    • ►  des. (1)
    • ►  nov. (1)
    • ►  okt. (1)
    • ►  sep. (1)
    • ►  aug. (1)
    • ►  juli (2)
    • ►  juni (2)
    • ►  mai (3)
    • ►  apr. (2)
    • ►  feb. (1)
    • ►  jan. (2)
  • ►  2016 (15)
    • ►  des. (1)
    • ►  nov. (2)
    • ►  okt. (1)
    • ►  sep. (2)
    • ►  aug. (1)
    • ►  juni (2)
    • ►  mai (3)
    • ►  apr. (1)
    • ►  mars (1)
    • ►  feb. (1)
  • ►  2015 (14)
    • ►  des. (1)
    • ►  nov. (1)
    • ►  okt. (2)
    • ►  aug. (1)
    • ►  juni (1)
    • ►  mai (2)
    • ►  apr. (2)
    • ►  mars (1)
    • ►  feb. (1)
    • ►  jan. (2)
  • ►  2014 (24)
    • ►  des. (2)
    • ►  nov. (1)
    • ►  okt. (2)
    • ►  sep. (2)
    • ►  aug. (2)
    • ►  juli (3)
    • ►  juni (3)
    • ►  mai (2)
    • ►  apr. (2)
    • ►  mars (2)
    • ►  feb. (1)
    • ►  jan. (2)
  • ►  2013 (16)
    • ►  des. (1)
    • ►  nov. (1)
    • ►  okt. (1)
    • ►  aug. (2)
    • ►  juli (1)
    • ►  juni (2)
    • ►  mai (2)
    • ►  apr. (2)
    • ►  mars (2)
    • ►  jan. (2)
  • ►  2012 (11)
    • ►  des. (1)
    • ►  nov. (2)
    • ►  okt. (3)
    • ►  sep. (1)
    • ►  aug. (4)
  • ►  2011 (39)
    • ►  nov. (2)
    • ►  okt. (5)
    • ►  sep. (2)
    • ►  aug. (4)
    • ►  juli (2)
    • ►  juni (5)
    • ►  mai (4)
    • ►  apr. (3)
    • ►  mars (4)
    • ►  feb. (5)
    • ►  jan. (3)
  • ►  2010 (37)
    • ►  des. (3)
    • ►  nov. (3)
    • ►  okt. (4)
    • ►  sep. (8)
    • ►  aug. (3)
    • ►  juli (3)
    • ►  juni (2)
    • ►  mai (2)
    • ►  apr. (3)
    • ►  mars (3)
    • ►  feb. (2)
    • ►  jan. (1)
  • ►  2009 (54)
    • ►  des. (3)
    • ►  nov. (2)
    • ►  okt. (3)
    • ►  sep. (5)
    • ►  aug. (4)
    • ►  juli (15)
    • ►  juni (8)
    • ►  mai (3)
    • ►  apr. (2)
    • ►  feb. (5)
    • ►  jan. (4)
  • ▼  2008 (75)
    • ►  des. (6)
    • ►  nov. (8)
    • ►  okt. (9)
    • ►  sep. (8)
    • ►  aug. (9)
    • ►  juli (9)
    • ▼  juni (6)
      • TotT: Defeat "Static Cling"
      • Test Engineering Class Project at UC-Irivine
      • Productivity Games – Using Games to Improve Quality
      • Taming the Beast (a.k.a. how to test AJAX applicat...
      • TotT: Friends You Can Depend On
      • 3 days left for GTAC Proposals!
    • ►  mai (6)
    • ►  apr. (4)
    • ►  mars (4)
    • ►  feb. (4)
    • ►  jan. (2)
  • ►  2007 (41)
    • ►  okt. (6)
    • ►  sep. (5)
    • ►  aug. (3)
    • ►  juli (2)
    • ►  juni (2)
    • ►  mai (2)
    • ►  apr. (7)
    • ►  mars (5)
    • ►  feb. (5)
    • ►  jan. (4)

Feed

  • Google
  • Privacy
  • Terms